繁体   English   中英

PHP邮件功能在AWS EC2中不起作用

[英]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_fromsendmail_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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM