在Windows 8上无法使用PHP邮件function发送电子邮件

我在Windows 8上安装了wamp。

有错误:

警告:mail()[function.mail]:无法连接到“本地主机”端口25的邮件服务器,在php.ini中validation您的“SMTP”和“smtp_port”设置,或者在C:\ wamp \ www \第9行的mail.php

这里是简单的源代码:

<?php // The message $message = "Line 1\r\nLine 2\r\nLine 3"; // In case any of our lines are larger than 70 characters, we should use wordwrap() $message = wordwrap($message, 70, "\r\n"); // Send mail('caffeinated@example.com', 'My Subject', $message); ?> 

我必须安装哪些软件通过电子邮件在Windows 8上的PHP? sendmail,msmtp或ssmtp?

尝试这个

图片

configuration此设置

php.ini中

 SMTP=smtp.gmail.com smtp_port=587 sendmail_from = my-gmail-id@gmail.com sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t" 

sendmail.ini中

 smtp_server=smtp.gmail.com smtp_port=587 error_logfile=error.log debug_logfile=debug.log auth_username=my-gmail-id@gmail.com auth_password=my-gmail-password force_sender=my-gmail-id@gmail.com 

重要:如果在php.ini有另一个sendmail_path在下面的行注释: sendmail_path="C:\xampp\mailtodisk\mailtodisk.exe"

注意:testing,并在我的Windows 8.1工作正常

可能的scheme 看到这个问题

对于我来说,在localhost上configuration邮件客户端是相当困难的。 我也尝试了很多次。 后来我转向其他解决scheme。

您可以使用SwiftMailer或PhpMailer进行一些configuration,也可以使用零configuration尝试此工具 。

在一个侧面说明,如果你正在使用Windows PC进行开发而不是生产服务器,那么我build议你不要在Windows上设置一个sendmail ,只需要使用这个方便的工具。

testing邮件服务器工具(免费)

它会模拟一个电子邮件服务器,一旦任何脚本试图发送电子邮件,它会拦截并打开它作为一个.eml文件,你可以打开任何电子邮件阅读器,如Outlook或邮件查看器(也是免费的) 。

现在设置这个工具只是一个轻松的工具,稍后你会感谢我保存的所有时间,而不必手动设置sendmail,我不得不提到的是在Linux机器上。 ;)

我build议汞( http://www.pmail.com/downloads_s3_t.htm – 水星/ 32邮件传输系统为Win32和NetWare系统v4.74)。

这包含在XAMPP中,相当容易设置,您不需要configuration或(ab)使用电子邮件帐户。 您可以在汞邮件日志窗口中看到整个smtp事务。

在这里寻找一个很好的答案如何从PHP安装邮件: PHP邮件表单不会完成发送电子邮件

使用这个函数工具: https : //github.com/PHPMailer/PHPMailer

邮件()是困难的使用,这个function允许您使用电子邮件服务器STMPfunction发送电子邮件。

在这里阅读文档: https : //github.com/PHPMailer/PHPMailer/blob/master/README.md

你需要使用电子邮件服务器和PHP一起。 https://www.hmailserver.com/

当您通过需要SMTP身份validation的服务器使用电子邮件发件人function时,您必须指定它。 并设置主机,用户名和密码(也可能是端口,如果它不是默认的 – 25)。

例如,我通常使用类似PHPMailer设置这个:

 //ini settings ini_set("SMTP", "aspmx.l.google.com"); ini_set("sendmail_from", "YOURMAIL@gmail.com"); $mail = new PHPMailer(); $mail->IsSMTP(); $mail->CharSet = 'UTF-8'; $mail->Host = "mail.example.com"; // SMTP server example $mail->SMTPDebug = 0; // enables SMTP debug information (for testing) $mail->SMTPAuth = true; // enable SMTP authentication $mail->Port = 25; // set the SMTP port for the GMAIL server $mail->Username = "username"; //Your SMTP account username example $mail->Password = "password"; //Your SMTP account password example 

你可以在这里find更多关于PHPMailer的信息 。

您可以通过video来了解如何在这里configurationWondows的SMTP。