我正在使用PHP在脚本中发送文本,但它不会发送!它发送电子邮件很好,但它不会发送到文本.....
我的代码:
mail('##########@txt.att.net', '', 'This is a test.');
答案 0 :(得分:0)
大多数电子邮件到文本网关非常严格遵守他们接受的内容。假设您拥有正确的地址,没有被阻止,并且没有开放中继,那么还需要检查一些其他事项。
From:
信封标头设置为有效地址,而不是服务器上的默认地址要正确设置From:
,请参阅此问题:https://stackoverflow.com/a/2014104/362536
答案 1 :(得分:0)
根据我的经验,大多数电信运营商使用像senderbase这样的服务来检查邮件是来自开放中继,信誉,spf记录等等。尝试使用PEAR邮件包并通过smtp服务器进行身份验证以进行发送。我成功地将它用于所有主要的电信公司。 php邮件功能不起作用,它需要来自一个真实的地址 - 同时确保你有正确的rdns设置。
答案 2 :(得分:0)
您需要为相应的SMS网关发送相应的标头(参数4或使用PEAR MAIL)。
至少......
'From','To','Subject','Reply-To','MIME-Version',& '内容类型'
......并且取决于承运人,可能:
'charset','Content-Transfer-Encoding,& '内容处置'
确保正确配置“日期”标题&由您的系统添加,并使用SMTP身份验证。
我们最近遇到了Verizon(vtext.com)没有提供文本或将它们反馈给我们的问题。结果显示标题为他们的网关提供了很长的消息,我只能通过删除最后三个来向Verizon员工发送文本。 : - /
使用运营商的免费电子邮件 - > SMS网关不是一个好的商业解决方案。 很受欢迎。 : - /
答案 3 :(得分:0)
您在代码行中缺少标头参数。
当前: mail('########### @ txt.att.net','','这是一个测试。');
应为: mail('########### @ txt.att.net','','这是一个测试。',$ header);
$ header是实际的标题信息。
例如:$ headers =“发件人:anyverified@emailaddress.com”;
希望这会有所帮助。 -丹