opencart 的联系表单没有采用存储数据库,后台管理的方案,而是选择直接发送一封邮件到后台网店设置里填写的邮件。这样就需要配置好邮件参数,目前opencart支持PHP内置的mail() 函数 和 免费SMTP服务器代发(PS:如163、qq、Gmail等等)。 opencart配置mail 选用mail()函数的方式虽然简单,但前提是需要服务器配置了sendmail 或是 postfix服务。 另一种SMTP代发方式方式显然要更直接和方便。 但是我在使用163免费邮箱的时候发现表单发送邮件后会返回错误:
这个错误来源是因为 网易服务器smtp机器要求身份验证帐号和发信帐号必须一致,如果用户在发送邮件时,身份验证帐号和发件人帐号是不同的,因此拒绝发送。 打开文件 /system/library/mail.php 文件: 查找代码:
改为:
这样是为了保证真实的发送地址和代发的SMTP邮箱地址一致,以通过验证。 (责任编辑:最模板) |