Я пытаюсь отправить электронное письмо с моего локального хоста, используя mandrill api, но каждый раз, когда я вызываю функцию отправки электронной почты, я получаю статус «в очереди». Если я вижу журнал API мандрила, я вижу, что звонок был успешным, также я не получаю никакого электронного письма. Вот код, который я использую …
try {
$mandrill = new Mandrill($this->api_key);
$template_name = 'Invitation';
$template_content = array(
array(
'name' => 'main',
'content' => 'Hi *|FIRSTNAME|*, you are cordially invited.'
)
);
$message = array(
'html' => '<p>Example HTML content</p>',
'text' => 'Example text content',
'subject' => 'example subject',
'from_email' => '[email protected]',
'from_name' => 'Example Name',
'to' => array(
array(
'email' => '[email protected]',
'name' => 'Recipient Name',
'type' => 'to'
)
),
'headers' => array('Reply-To' => '[email protected]'),
'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' => '[email protected]',
'tracking_domain' => null,
'signing_domain' => null,
'return_path_domain' => null,
'merge' => true,
'merge_language' => 'mailchimp',
'global_merge_vars' => array(
array(
'name' => 'merge1',
'content' => 'merge1 content'
)
),
'merge_vars' => array(
array(
'rcpt' => '[email protected]',
'vars' => array(
array(
'name' => 'FIRSTNAME',
'content' => 'My First Name'
)
)
)
),
'tags' => array('password-resets'),
'subaccount' => 'customer-123',
'google_analytics_domains' => array('example.com'),
'google_analytics_campaign' => '[email protected]',
'metadata' => array('website' => 'www.example.com'),
'recipient_metadata' => array(
array(
'rcpt' => '[email protected]',
'values' => array('user_id' => 123456)
)
),
'attachments' => array(
array(
'type' => 'text/plain',
'name' => 'myfile.txt',
'content' => 'ZXhhbXBsZSBmaWxl'
)
),
'images' => array(
array(
'type' => 'image/png',
'name' => 'IMAGECID',
'content' => 'ZXhhbXBsZSBmaWxl'
)
)
);
$async = false;
$ip_pool = 'Main Pool';
$send_at = '2014-11-02 01:11:13 PM';
$result = $mandrill->messages->sendTemplate($template_name, $template_content, $message, $async, $ip_pool, $send_at);
print_r($result);
Я пытаюсь найти решение, но все еще не надеюсь. (это мой первый раз, используя Mandrill API). Я делаю что-то не так?
Похоже, у вас есть subaccount
указано, но, вероятно, не имеют субсчета с таким именем. Подумайте об удалении любых необязательных параметров, которые вы на самом деле не указали, чтобы убедиться, что все работает как положено. Точно так же у вас есть запланированное время, вложения и изображения, но это примеры, поэтому вы, вероятно, хотите их исключить. Когда вы включаете вложения, сообщение будет обрабатываться асинхронно; удаление примеров приведет к появлению большего количества ошибок, поскольку сообщение больше не должно обрабатываться асинхронно.
Других решений пока нет …