【问题标题】:PHP Mail to send text message functions differently on two serversPHP Mail 在两台服务器上发送短信功能不同
【发布时间】:2015-05-06 19:22:15
【问题描述】:

我正在使用以下 PHP 邮件命令在防火墙后面的两个不同的基于 linux 的服务器上发送电子邮件。

1.) 当使用常规电子邮件地址 (username@domain.com) 时,两者都可以工作

2.) 当字符串 $to 值是移动提供商的文本消息电子邮件等价物时,只有一个服务器能够成功发送消息。

发送短信时工作的服务器显示简单:220 mail.domain.com ESMTP

不工作的服务器显示如下:220 domain.com ESMTP Postfix (Ubuntu)

在两台服务器上都可以正常工作:

mail('username@domain.com', '', 'Testing');  

//mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )

仅在一台服务器上成功发送和接收:

mail('5556667777@txt.provider.net', '', 'Testing');  

//mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )

【问题讨论】:

  • php 不发送邮件。 mail() 只使用安装的任何本地 MTA(例如 sendmail、postfix、exim、...)。 mail() 相当于把你的信走到街角,然后把信封扔进邮箱。
  • @MarcB 非常感谢!好的...所以可以发送 txt 消息的服务器正在运行 xinetd,而不能发送 txt 消息的服务器正在运行 postfix。有什么想法吗?
  • 对不起...不是 xinetd...我的意思是 ESMTP
  • esmtp 是一种协议。检查后缀日志以查看 php 移交后电子邮件发生了什么。
  • 您可能想查看 PEAR Mail。更好地处理邮件消息。此外,220 mail.domain.com ESMTP 是一个成功的响应横幅。因此,请按照@MarcB 的建议检查 Relay MTA 上的日志。

标签: php email sms


【解决方案1】:

cmets 很棒,谢谢。这就是 Postfix 的配置方式。移动提供商将其视为垃圾邮件。我做了一些更改以通过有效的 smtp 服务器进行身份验证,它工作正常。感谢您的帮助!

【讨论】:

    猜你喜欢
    • 2014-04-27
    • 1970-01-01
    • 2015-10-10
    • 2014-05-09
    • 2013-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-27
    相关资源
    最近更新 更多