javascript - Mandrill 文件给出 500 错误但仍在执行功能

标签 javascript php mandrill

我有一个 mandrill PHP SDK,用于执行从用户到管理员的事务电子邮件。

我面临的问题是提交表单时,mandrill 文件给出错误 500,但它仍然执行该功能,并且管理员仍然收到电子邮件。

山魈 PHP 文件:

<?php
require('./mandrill/Mandrill.php');
$html = 'Hey, <br>'.'You got mail from '.$_GET['Name'].' email: '.$_GET['Email'].' phone: '.$_GET['Phone'].'.<br>Their message is, '.$_GET['message'];
try {
    $mandrill = new Mandrill('KEY_GOES_HERE');
    $message = array(
        'html' => $html,
        'subject' => 'User Message',
        'from_email' => 'random@email.com',
        'from_name' => 'random_name',
        'to' => array(
            array(
                'email' => 'to_random@email.com',
            )
        ),
        'headers' => array('Reply-To' => 'none'),
        'important' => false,
        'track_opens' => null,
        'track_clicks' => null,
        'auto_text' => null,
        'auto_html' => null,
        'inline_css' => null,
        'url_strip_qs' => null,
        'preserve_recipients' => null,
        'view_content_link' => null,
        'bcc_address' => 'message.bcc_address@example.com',
        'tracking_domain' => null,
        'signing_domain' => null,
        'return_path_domain' => null,
        'merge' => true,
        'global_merge_vars' => array(
            array(
                'name' => 'merge1',
                'content' => 'merge1 content'
            )
        ),
    );
    $async = false;


    $result = $mandrill->messages->send($message, $async, $ip_pool, $send_at);
    print_r($result);
    /*
    Array
    (
        [0] => Array
            (
                [email] => recipient.email@example.com
                [status] => sent
                [reject_reason] => hard-bounce
                [_id] => abc123abc123abc123abc123abc123
            )

    )
    */
} catch(Mandrill_Error $e) {
    // Mandrill errors are thrown as exceptions
    echo 'A mandrill error occurred: ' . get_class($e) . ' - ' . $e->getMessage();
    // A mandrill error occurred: Mandrill_Unknown_Subaccount - No subaccount exists with the id 'customer-123'
    throw $e;
}
?>

发送序列化表单的 JavaScript 如下:

$("#submit").on("click", function() {
    var e = $("#modal-contact-form").serialize();
    if (!n()) return false;
    $.ajax({
        type: 'GET',
        url: "./mandrill_mailer.php",
        data: e,
        success: function() {
            alert("Got it, thanks! We'll be in touch soon!");
            $("#modal-contact-form").find("input[type=text], textarea").val("")
        }
    });
    return false
});

这个特殊问题仅在 GoDaddy 托管上遇到,而它在我的本地主机上完美运行。我该如何解决这个问题?

最佳答案

我有时会看到 500 个 invalid_key 错误 - 例如,如果您的 API key 受到限制。但我不希望电子邮件仍会发送。

您检查过API Logs吗? ?

关于javascript - Mandrill 文件给出 500 错误但仍在执行功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25379335/

相关文章:

python - 使用谷歌应用程序引擎 urlfetch 来自 mandrill 的验证错误

javascript - React js问题

javascript - 无法使用 JQuery 使 ASP.NET 控制按钮淡出

javascript - 从 Stripe Webhook 更新 Parse.com 用户

php - 在单个页面上使用 css "active tab"技术

php - Laravel Response::download() 在 Laravel 中显示图像

javascript - 仅在移动屏幕尺寸上使用 slick.js

php - 如何在 SQLite 中显示 SQL 错误?

php - 使用 Mandrill 发送电子邮件模板出现错误

ruby - 如何在 Ruby 中解码字符串