Zend smtp mailJet模板

时间:2017-09-05 14:47:50

标签: php zend-framework mailjet

我试图通过mailjet在我的zend应用程序上发送电子邮件。 它工作但无法加载所需的模板。 代码:

 $config = array('ssl' => 'ssl',
                'port' => 465,
                'auth' => 'login',
                'username' => 'mailjet api username',
                'password' => '8mailjet api key');


            $transport = new Zend_Mail_Transport_Smtp('in-v3.mailjet.com', $config);
            $mail = new Zend_Mail();
            $mail->addHeader('X-MJ-TemplateLanguage',true);
            $mail->addHeader('X-MJ-TemplateID','validationV2'); 
          // This is the template I wanna use.(above)
            $mail->setFrom('test@test.org', 'You');
            $mail->addTo('test@test.org', 'Anybody');
            $mail->setSubject('My first email by Mailjet');
            $mail->setBodyHtml('wxxxxxxxxxxxxxxxxxxxxxxxxx');

            $mail->send($transport);

如果我能得到任何帮助,那就太棒了!

2 个答案:

答案 0 :(得分:0)

您可以尝试将模板的数字ID放在X-MJ-TemplateID中。如果仍然无效,请提交support ticket

答案 1 :(得分:0)

我遇到了同样的问题。 SMTP中继的Mailjet v3可能与Zend不兼容。
但是,我测试过的解决方法是在通过作曲家导入“ mailjet / mailjet-apiv3-php”之后直接使用Mailjet API,例如:

    $mail = [
        'FromEmail' =>  'test@test.org',
        'FromName' => 'You',
        'To' => 'Anybody <test@test.org>,
        'MJ-TemplateID' => 1,
        'MJ-TemplateLanguage' => true
    ];

    $mj = new Client('mailjet api username', '8mailjet api key');
    $mj->post(Resources::$Email, ['body' => $mail]);

但是,我很好奇Mailjet对您的支持票的答复!