简单的PHP邮件功能无法在Amazon服务器EC2上运行

kul*_*raj 7 php amazon-ec2

请参阅此代码

<?php
$to = "someone@example.com";
$subject = "Test mail";
$message = "Hello! This is a simple email message.";
$from = "someonelse@example.com";
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
echo "Mail Sent.";
?> 
Run Code Online (Sandbox Code Playgroud)

这段代码有什么问题.它不适用于Amazon Linux服务器

谢谢

Sri*_*har 14

我在使用Php发送电子邮件时遇到了同样的问题mail().安装发送邮件为我解决了.

sudo apt-get install sendmail
Run Code Online (Sandbox Code Playgroud)


Avn*_*lok 11

我和ec2的php邮件有同样的问题.

解决方案对我有用:

  1. 按命令安装sendmail:

     sudo apt-get install sendmail
    
    Run Code Online (Sandbox Code Playgroud)
  2. 通过执行follwing命令检查服务是否已启动

    service sendmail status
    
    Run Code Online (Sandbox Code Playgroud)

    注意:上面命令的输出应该是 - 'Active: active (running)'

  3. 如果未按以下命令运行,则启动该服务

    service sendmail start
    
    Run Code Online (Sandbox Code Playgroud)
  4. 服务启动后,使用以下命令发送测试邮件:

    echo "This is test mail body" | mail -s "Test Mail Subject" "recipient@email.com"
    
    Run Code Online (Sandbox Code Playgroud)

用您的电子邮件ID替换电子邮件,看看您是否收到此电子邮件,如果是,那么您的邮件设置正常,现在您的php电子邮件应该正常工作.

如果没有,检查错误的文件是/ var/spool/mail /.

  • @SaravananNandhan您可以通过此解决方案。您需要安装邮件 (2认同)