[英]PHP mail function is not working in aws ec2
我正在尝试在AWS Windows Server 2016中实现PHP邮件功能,但在使用PHP邮件功能后未收到邮件:
<?php
ini_set();
$to = "km.kuldeepmourya@gmail.com";
$subject = "My subject";
$txt = "Hello world!";
$headers = "From: webmaster@example.com" . "\r\n" .
"CC: somebodyelse@example.com";
$check=mail($to,$subject,$txt,$headers);
if($check)
echo"mail sent";
else
echo"mail not sent";
?>
输出:
Warning: ini_set() expects exactly 2 parameters, 0 given in
C:\xampp\htdocs\mymail.php on line 2
Warning: mail(): Failed to connect to mailserver at "localhost" port 25,
verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in
C:\xampp\htdocs\mymail.php on line 9 mail not sent
除非您在服务器上的php.ini文件中定义sendmail_from
和sendmail_path
,否则mail()
函数在PHP上将始终返回false。 请确保定义了这些值。
有关这些值的更多信息: http : //php.net/manual/en/function.mail.php
如果您无权访问ini文件,则还可以在php脚本中使用ini_set()
来设置这些值或函数的其他头文件参数。
快速说明:如果打开警告,则会看到与未定义警告相关的警告。 我建议在开发环境中打开警告,以免将来遇到此类问题。
警告消息告诉您您需要了解的内容。 PHP试图在本地主机端口25上连接到MTA(邮件服务器)。在该端口上找不到MTA。 这实际上不是PHP问题,而是Windows问题上的邮件服务器。 Windows将其称为SMTP服务器,因为这是邮件传输协议。 您可能需要安装Windows的邮件服务器,或者安装Windows Server随附的打包的SMTP服务器, 如此处所述 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.