Magento新站上线伊始,不料在邮件上遇到了问题。此时常用的邮件模板已经编辑完毕,诸如New Account, New Order, Password Forget等。 CentOS下发送邮件很简单的,只需安装sendmail就可以了,安装sendmail也很简单,只需yum install sendmail就可以了,Magento发送邮件也很简单,只需要在管理员后台设置发件人名称和邮箱就可以了。那么问题到底出在哪里呢? 几句话说不清楚,不如直接看图:

magento-send-mail-setting-1 magento-send-mail-setting-2

1. 在收件箱列表中,发件人为 www
2. 在邮件标题部分,出现 由([email protected]代发) 的安全提示。

客人收到邮件后,十有八九会认为网站太不专业不正规! 可能会有人问,上面的 [www] 和 [magentoeye.magentoeye.com] 是从哪里来的?问的好哇![magentoeye.magentoeye.com] 是网站服务器主机名字。 在服务器上运行 hostname 命令,就可以看到以下结果:

1 # hostname
2 magentoeye.magentoeye.com

其中,前部分的[magentoeye]是真正的host name,后一部分的[magentoeye.com]是域名(domain)。另一个问题的答案为:[www]是执行PHP脚本进程的用户名。sendmail发送邮件时,如果没有指定附加参数,默认它会把当前主机名作为邮件服务器、 以及命令它发邮件的Linux用户名作为发件者,加入到邮件头部信息。

好了,扯这么多,如何解决这两个问题,让Magento邮件看起来更专业呢?虽然寻找答案不容易,但操作起来很简单的。 只需在Admin -> System -> Configuration -> ADVANCED -> System -> Mail Sending Settings 中设置 [Set Return-Path] 的值为 [Yes]。如下图所示:

magento-send-mail-setting-3

保存设置后,再让Magento发送一次邮件,收到邮件后,效果如下:

magento-send-mail-setting-4 magento-send-mail-setting-5

看起来好多了,仍有些瑕疵,比如在邮箱列表中,希望看到的发件人是[MagentoEye.com],而不是[Support]。这也好办,设置下发件人名字即可,如下:

magento-send-mail-setting-6

最终效果如下:

magento-send-mail-setting-7