ZEND 使用 SMTP 身份验证发送

我的应用程序当前正在发送电子邮件,但它们未经过 SMTP 身份验证,因此电子邮件将变成垃圾邮件。有没有办法在不更改主配置的情况下添加 SMTP 选项?


 /* Mail Sender */

            $mail = new \Zend_Mail('utf-8');

            $mail->setFrom("XXX@XXX.com");

            $mail->addTo($adminMail);

            $mail->setSubject('My Subject');

            $mail->setBodyHtml('email content');

            $content = file_get_contents($filePath);

            $attachment = new \Zend_Mime_Part($content);

            $attachment->type = 'image/png'; // attachment's mime type

            $attachment->disposition = \Zend_Mime::DISPOSITION_ATTACHMENT;

            $attachment->encoding = \Zend_Mime::ENCODING_BASE64;

            $attachment->filename = 'image_' . $customerId . '.png';

            $mail->addAttachment($attachment);

            $mail->send();


精慕HU
浏览 109回答 1
1回答

largeQ

尝试像这样修改您的代码:$mail = new \Zend_Mail('utf-8');$mail->setFrom("XXX@XXX.com");$mail->addTo($adminMail);$mail->setSubject('My Subject');$mail->setBodyHtml('email content');$content = file_get_contents($filePath);$attachment = new \Zend_Mime_Part($content);$attachment->type = 'image/png'; // attachment's mime type$attachment->disposition = \Zend_Mime::DISPOSITION_ATTACHMENT;$attachment->encoding = \Zend_Mime::ENCODING_BASE64;$attachment->filename = 'image_' . $customerId . '.png';$mail->addAttachment($attachment);// create mail transport$transport = new \Zend_Mail_Transport_Smtp(    'smtp.yourserver.com',    [        'auth' => 'login',        'port' => 'yoursmtpport',        'username' => 'yourusername',        'password' => 'yourpassword',    ]);$mail->send($transport);
打开App,查看更多内容
随时随地看视频慕课网APP