http://php.net/manual/en/function.mail.php
mail() 的 Windows 实现在许多方面与 Unix 实现不同。首先,它不使用本地二进制文件来编写消息,而仅在直接套接字上运行,这意味着需要 MTA 侦听网络套接字(可以在 localhost 或远程计算机上)。
在 linux 上,sendmail 可执行文件用于与 Windows 上配置的 SMTP 服务器通信,您可以/可以配置mail()
函数以使用 SMTP
所以最好的方法是直接使用SMTP发送邮件到Gmail发送邮件。
取自:
https ://stackoverflow.com/a/33506709/623150
这是使用 PHP PEAR 的一种方法
// Pear Mail Library
require_once "Mail.php";
$from = '<your@mail.com>'; //change this to your email address
$to = '<someone@mail.com>'; // change to address
$subject = 'Insert subject here'; // subject of mail
$body = "Hello world! this is the content of the email"; //content of mail
$headers = array(
'From' => $from,
'To' => $to,
'Subject' => $subject
);
$smtp = Mail::factory('smtp', array(
'host' => 'ssl://smtp.gmail.com',
'port' => '465',
'auth' => true,
'username' => 'your@gmail.com', //your gmail account
'password' => 'snip' // your password
));
// Send the mail
$mail = $smtp->send($to, $headers, $body);
如果您使用 gmail smtp,请记住在您的 gmail 帐户中启用 SMTP,在设置下
在 Linux 服务器上,您不能通过邮件功能使用 SMTP。