1

我正在尝试从 magento 中的自定义模块发送电子邮件,但是无法发送。我需要包括任何东西还是应该对我的主机进行一些配置?在这里你可以看到我的代码:

                $mail = new Zend_Mail();  
                $mail->setBodyText($mailbody);
                $mail->setFrom('admin@gmail.com', 'admin');
                $mail->addTo('email@gmail.com', 'client');
                $mail->setSubject('Error report');


                try {
                    $mail->send();
                    Mage::getSingleton('core/session')->addSuccess('Your request has been sent');
                }
                catch (Exception $e) {
                    Mage::getSingleton('core/session')->addError('Unable to send.');
                    }
4

2 回答 2

0

您必须在php.ini What is your provider 中配置您的 smtp?可以找到 smtp 服务器的 url,并将其放入您的php.ini文件中。

于 2012-10-12T17:45:41.590 回答
0

最好使用 Magento 的模型来发送电子邮件。这样您就知道它正在正确发送,并在失败时得到有用的错误

最简单的方法:

$email = Mage::getModel('core/email_template');
$email->setSenderEmail('sender@email.com');
$email->setSenderName('name');
$email->setTemplateSubject('Subject');
$email->setTemplateText('emailbody');
$email->send('receiver@mail.com', 'receiver name');

请记住,您的主机不支持发送邮件,或者您的提供商阻止了端口 25。这将导致您的 exception.log 中出现一条消息

如果您想查看最终电子邮件的外观,请打印$email->getProcessedTemplate()到您的屏幕上

于 2012-10-11T11:17:57.203 回答