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.

但实际上这东西第一次起作用,但之后就不起作用了。我在我的电脑上使用 xampp。那么我应该怎么做才能发送电子邮件。请有人告诉我。

4

4 回答 4

1

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

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

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

特别是在您的情况下,它能够通过内置的 gMail 发送,这意味着您不需要弄乱您的服务器配置或设置自己的邮件中继或类似的东西;只需按照这个示例让 phpMailer 与您的 gMail 帐户一起工作,您应该会很快启动并运行。

希望有帮助。

于 2013-05-28T11:06:08.873 回答
1

尝试:smtp_ssl=none

; SMTPS (SSL) 支持

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

; ssl = 始终使用 SSL

; tls = 始终使用 TLS

; none = 从不尝试使用 SSL

于 2014-07-17T14:39:49.613 回答
0
  1. 右键单击 sendmail.exe
  2. 财产
  3. 兼容性
  4. 更改所有用户的设置
  5. 勾选兼容模式。
于 2013-12-28T18:54:11.660 回答
0

您需要将您的 SMTP 服务器/sendmail 配置为完整的中继主机。由于 sendmail 很老而且配置起来非常非常复杂,您应该考虑 Exim(正如@edwardmp 建议的那样)或 postfix。

实际上,您的安装缺少 SSL 等部分,并且通过这也意味着您需要生成服务器证书、证书颁发机构等,并且可能还缺少其他部分。

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

于 2013-05-28T10:54:20.130 回答