Linux中的Magento不发送电子邮件

时间:2014-06-12 09:36:31

标签: php magento smtp

我在Linux中安装了magento 1.8.1.0。我安装了Aschroder的SMTP Pro电子邮件扩展程序。我已经配置了所有设置,并且电子邮件是从Windows发送的。但是,当我在Linux中尝试相同的事情时,电子邮件处理无效。

我在一些文章中读到,将语言环境更改为美国可以解决问题。我也试过了,但什么都没发生。

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

Oky我无法帮助您使用该扩展程序,但执行此更新以使用任何外部SMTP服务进行Magento电子邮件发送:

从Magento Core创建函数副本:

创建文件副本

从:

/app/code/core/Mage/Core/Model/Email/Template.php

/app/code/local/Mage/Core/Model/Email/Template.php(如果文件夹不存在则创建它们)

在约325行更改/app/code/local/Mage/Core/Model/Email/Template.php文件更改功能:

/**
 * Send mail to recipient
 *
 * @param   array|string       $email        E-mail(s)
 * @param   array|string|null  $name         receiver name(s)
 * @param   array              $variables    template variables
 * @return  boolean
 **/
public function send($email, $name = null, array $variables = array())
{
    if (!$this->isValidForSend()) {
        Mage::logException(new Exception('This letter cannot be sent.')); // translation is intentionally omitted
        return false;
    }

到:

/**
     * Send mail to recipient
     *
     * @param   array|string       $email        E-mail(s)
     * @param   array|string|null  $name         receiver name(s)
     * @param   array              $variables    template variables
     * @return  boolean
     **/
    public function send($email, $name = null, array $variables = array())
    {
        if (!$this->isValidForSend()) {
            Mage::logException(new Exception('This letter cannot be sent.')); // translation is intentionally omitted
            return false;
        }
/* hack */
       $config = array(
               'ssl' => 'tls', //optional
               'port' => Mage::getStoreConfig('system/smtp/port'), //optional - default 25
               'auth' => 'login',
               'username' => 'sender_email_account@domain.somethig',
               'name' => Mage::getStoreConfig('system/smtp/host'),
               'password' => 'password'
           );

       $transport = new Zend_Mail_Transport_Smtp(Mage::getStoreConfig('system/smtp/host'), $config);
/**/

设置电子邮件帐户提供商的配置参数(与Outlook等相同......)

多数,您的电子邮件应该有效