我有一个非常奇怪的问题...我有一个安装了 LAMP 的 Ubuntu Server 12.04,并且正确安装和配置了 ssmtp...现在我可以从我的终端发送邮件,无论是否使用 sudo。这告诉我我的 ssmtp 配置是正确的。
我可以使用以下方法从我的 php 脚本发送邮件:
mail('[email protected]',$subject,$message);
但是,当我用包含电子邮件字符串的变量替换 toEmail 时,我想要发送到,例如:
mail($to,$subject,$message);
那么在这种情况下邮件就不会发送,相反,gmail 会告诉我输入了错误的地址……Gmail 会将该地址显示为“[电子邮件保护]'... 而在第一种情况下,收到的电子邮件中的地址没有引号......
我搜索了很多次但就是找不到答案......
这是我收到的消息:
Delivery to the following recipient failed permanently:
'[email protected]'
答案1
经过一番思考,我终于能够解决这个问题了...诀窍是在不带引号的 URL 中发送电子邮件...示例:
http://10.1.1.11/[email protected]
现在,此处的电子邮件没有引号……现在mail()
PHP 中的函数将与 ssmtp 配合使用,但数据库查询不会。要使数据库查询与将存储电子邮件的变量配合使用,您只需在其周围添加单引号……干杯!