我配置了sendmail.ini和php.ini,但我可以';t在php中使用mail()函数发送电子邮件

我配置了sendmail.ini和php.ini,但我可以';t在php中使用mail()函数发送电子邮件,php,Php,这是我的sendmail.ini文件: [sendmail] smtp_server=smtp.gmail.com smtp_port=25 error_logfile=error.log debug_logfile=debug.log auth_username=mymail@gmail.com auth_password=**************** force_sender=mymail@gmail.com 发送电子邮件后,我的debug.log文件如下所示: 13/05/27 2

这是我的
sendmail.ini
文件:

[sendmail]

smtp_server=smtp.gmail.com
smtp_port=25
error_logfile=error.log
debug_logfile=debug.log
auth_username=mymail@gmail.com
auth_password=****************
force_sender=mymail@gmail.com
发送电子邮件后,我的
debug.log
文件如下所示:

13/05/27 20:46:36 ** Connecting to smtp.gmail.com:25
13/05/27 20:46:40 ** Connected.
13/05/27 20:46:42 << 220 mx.google.com ESMTP dr6sm30900757pac.11 - gsmtp<EOL>
13/05/27 20:46:42 >> EHLO ANKON-PC<EOL>
13/05/27 20:46:44 << 250-mx.google.com at your service, [202.134.13.131] 

<EOL>250-SIZE   
<EOL>250-8BITMIME<EOL>250-STARTTLS<EOL>250-ENHANCEDSTATUSCODES<EOL>250 ...<EOL>

13/05/27 20:46:44 ** Authenticating as mymail@gmail.com
13/05/27 20:46:44 >> STARTTLS<EOL>
13/05/27 20:46:45 << 220 2.0.0 Ready to start TLS<EOL>
13/05/27 20:46:45 >> QUIT<EOL>
13/05/27 20:46:46 <<  5  1Q£q×:Y

ý‰KÿhÓ&ïË‹­¶ð3Àm¼`      ÿ   #  E A > „0‚€0‚é 

13/05/27 20:46:47 <<  F
13/05/27 20:46:47 ** Disconnected.
13/05/27 20:46:47 ** Disconnecting from smtp.gmail.com:25
13/05/27 20:46:47 ** Disconnected.
13/05/27 20:46:47 ** Disconnected.
13/05/27 20:46:47 ** Connection Closed Gracefully.
13/05/27 20:46:36**连接到smtp.gmail.com:25
13/05/27 20:46:40**已连接。
13/05/27 20:46:42>EHLO安康-PC
13/05/27 20:46:44>开始
13/05/27 20:46:45>退出
13/05/27 20:46:46  „0‚€0‚é 

13/05/27 20:46:47您需要将SMTP服务器/sendmail配置为完全中继主机。由于sEnmail非常古老,配置非常复杂,您应该考虑EXIM(如@ EdWordMP建议的)或后缀。 实际上,您的安装缺少SSL之类的部分,而完成此过程也意味着您需要生成服务器证书、证书颁发机构等,并且可能还缺少其他部分


问题是,网络上是否有中继主机并且可以访问,以及您是否可以使用它(您的公司如何发送电子邮件?

您不能简单地以这种方式指定gmail这样的外部邮件服务器,并期望它能够工作,即使有正确的凭据。使用PHP
mail()
函数无法实现这一点

我的建议是完全放弃
mail()
函数——它有很多缺点,这只是其中之一

相反,请下载。这是一个PHP类,使通过PHP发送邮件变得更加简单

特别是在你的情况下,它有能力通过内置的gMail发送,这意味着你不需要乱弄你的服务器配置或设置你自己的邮件中继或诸如此类的事情;只要按照下面的步骤让phpMailer使用你的gMail帐户,你就可以很快启动并运行了

希望有帮助

  • 右键单击sendmail.exe
  • 财产
  • 相容性
  • 更改所有用户的设置
  • 勾选竞争力模式
  • 尝试: smtp_ssl=none

    );SMTPS(SSL)支持

    );auto=对端口465使用SSL,否则尝试使用TLS

    );ssl=始终使用ssl

    );tls=始终使用tls


    );none=从不尝试使用SSL

    如果您试图通过自己的sendmail发送到gmail.com,php是否正在连接到您的sendmail(本地主机)?你看这里了吗:你不能只使用gmail smtp,使用EximI设置你的owm邮件服务器。我第一次尝试了这个方法,但后来它不起作用@AxelAmthornow有一个错误是“SSL在此服务器上不可用”。我如何解决它?@edwardmp-一些邮件类,例如phpMailer,实际上允许你使用gmail smtp。