0

我正在尝试从 php 发送电子邮件,这是我的配置和代码:

 smtp_port = 25
 SMTP = 'my ip address'

mail('me@gmail.com', 'subject', 'message', 'FROM : headerInfo');

我不知道我错过了什么,这不是发送电子邮件。

编辑 :

我没有收到错误..$result = mail(); echo $result;什么也没打印。

垃圾邮件中没有消息。

服务器不是本地主机,文件在远程服务器上,但我不知道它是否是 SMTP 服务器。

如何取消阻止 ISP?

我检查了日志:

致命:绑定 0.0.0.0 端口 25:地址已在使用中

我该如何解决?

4

3 回答 3

1

您正在使用默认的 php.ini 设置来发送电子邮件。有可能:

  • 您没有邮件服务器(如果您在 localhost 上运行或者该 IP 地址没有邮件服务器)
  • 25 端口被您的 ISP 阻止(您可以要求解除阻止)
于 2013-05-30T07:29:27.163 回答
0

如果一切顺利,您必须再次检查您的 smtp 并检查您的 php 邮件页面。它必须上传到服务器而不是您的本地主机系统上。

于 2013-05-30T07:26:38.723 回答
0
  1. 首先检查 sendmail_path 变量是否设置正确。您可以从echo phpinfo()页面中看到它。典型值为/usr/sbin/sendmail -t -i

  2. 如果您在函数的第 4 个参数中发送额外的标头,请尝试将其删除并发送。邮件功能中的标头不正确是一种非常常见的情况。检查您的服务器中是否安装了阻止您的电子邮件的垃圾邮件过滤器。

  3. 如果您有权访问,请检查您的邮件日志文件,以查看电子邮件是否被邮件服务器阻止或尚未到达服务器。如果日志中没有您的电子邮件条目,则表示您的 php 代码或 php 配置有问题。如果它在日志中,您可以看到它未交付的原因。邮件日志文件的典型路径是/var/log/maillog

  4. 检查您是否在 localhost 上运行,或者该 IP 地址没有邮件服务器。

于 2013-05-30T07:35:48.390 回答