Отправлять электронные письма в php, используя mandrill

Я новичок в мандриле и использую мандрил для отправки писем в своем php-приложении. Также я зарегистрировал свой домен в mandril. Я получил код для отправки почты в мандриле в php. Я попробовал это, и это работает. Но я не понял, как отправить почту, не указывая адрес электронной почты в коде. То есть почтовый адрес «от» должен быть тем, который я установил по умолчанию.

Я много искал, даже в мандриле, но не нашел ответа. Кто-нибудь может мне с этим помочь..??

Я использовал этот код:

<?php
try {
$mandrill = new Mandrill('YOUR_API_KEY');
$message = array(
    'html' => '<p>Example HTML content</p>',
    'text' => 'Example text content',
    'subject' => 'example subject',
    'from_email' => '[email protected]', //this address should be my default one
    '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,
    'global_merge_vars' => array(
        array(
            'name' => 'merge1',
            'content' => 'merge1 content'
        )
    ),
    'merge_vars' => array(
        array(
            'rcpt' => '[email protected]',
            'vars' => array(
                array(
                    'name' => 'merge2',
                    'content' => 'merge2 content'
                )
            )
        )
    ),
    '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 = 'example send_at';
$result = $mandrill->messages->send($message, $async, $ip_pool, $send_at);
print_r($result);
/*
Array
(
    [0] => Array
        (
            [email] => [email protected]
            [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;
}
?>

person Aishwaryas    schedule 17.09.2014    source источник
comment
Если я правильно помню Mandrill Api, вы не можете отправлять письма без from_email и надеяться, что он просто использует электронную почту учетной записи Mandrill. Только from_name является необязательным   -  person darthsoup    schedule 17.09.2014
comment
Я знаю, что from_email неизбежен для отправки почты. Но мой вопрос в том, что я добавил свой домен в мандрил, когда я отправляю почту, адрес «от» должен быть тем, который я добавил в качестве своего домена. Как это можно сделать??   -  person Aishwaryas    schedule 17.09.2014


Ответы (1)


Вы не можете установить значение по умолчанию from_address. Вам придется включать его каждый раз через вызов API.

Ваш домен — это что-то другое, добавляя домен, вы добавляете его в белый список доменов, которые могут общаться с вашей учетной записью Mandrill через API.

person Juul    schedule 17.09.2014
comment
Теперь я понимаю проблему. Спасибо - person Aishwaryas; 18.09.2014