Prestashop 后台可以设置两种发送邮件的方式:SMTP和PHP mail() 方法。大多数情况下,使用PHP mail()发送邮件,但是,有时候不是很稳定导致很多邮件不能够正常收到。SMTP相对于比较稳定,但是使用SMTP模式发送邮件,在通过contact-form.php 发送邮件时,显示 an error occurred while sending message。 开启Xdebug功能,开启Xdebug功能的方法。测试发送邮件功能,在网站上面可以看到如下的内容: 主要错误是:Swift_BadResponseException: Expected response code(s) [250] but got response [553 5.7.1 <localtest@gmail.com>: Sender address rejected: not owned by user test@dotacc.com] Prestashop 的发送邮件功能,使用的是 SwiftMailer,SMTP服务器不允许从外部域发送邮件,即使是通过验证的,发送邮件必须使用同一个域。如果你的发件人和你的SMTP账户的域一样,就能够发送成功。 修复方法: 在 tools/swift/Swift/Message.php 中的大概 77行修改 $this->setReturnPath(null); 为$this->setReturnPath(“你的SMTP账户”);。我的SMTP账户用户名为 test@dotacc.com,这里就设置成 $this->setReturnPath(“test@dotacc.com“); (责任编辑:好模板) |