PHP邮件在我的Web服务器中不起作用

时间:2018-05-18 05:59:18

标签: php

我在php中使用第一次邮件功能我从网上获取代码并将其实现到我的程序但它无法正常工作。有什么可以帮我纠正这个吗?

  <?php
     $to = "ganesh.sunraise@gmail.com";
     $subject = "This is subject";

     $message = "<b>This is HTML message.</b>";
     $message .= "<h1>This is headline.</h1>";

     $header = "From:lokesh.sunraise111@gmail.com ";

     $retval = mail ($to,$subject,$message,$header);

     if( $retval == true ) {
        echo "Message sent successfully...";
     }else {
        echo "Message could not be sent...";
     }
  ?>

3 个答案:

答案 0 :(得分:0)

首先,请告知,您收到的消息是否已成功发送消息...&#34;消息。

邮件无法正常工作的原因有很多:

  1.   

    您的服务器不支持发送邮件。

  2. 请尝试以下方法:

     <?php
        $to      = 'nobody@example.com';
        $subject = 'the subject';
        $message = 'hello';
        $headers = 'From: webmaster@example.com' . "\r\n" .
       'Reply-To: webmaster@example.com' . "\r\n" .
        'X-Mailer: PHP/' . phpversion();
    
        mail($to, $subject, $message, $headers);
     ?>
    

    或使用:

      

    PHPMailer的

答案 1 :(得分:0)

您需要在本地设置电子邮件服务器,或者您可以使用第3方电子邮件服务器从您的Web服务器发送电子邮件。在php.ini中添加了以下行,以便使用gmail发送电子邮件。

smtp_server=smtp.gmail.com
smtp_port=465
smtp_ssl=auto
error_logfile=error.log
auth_username=your-gmail-username@gmail.com
auth_password=your-gmail-password

答案 2 :(得分:0)

您可以使用其他人建议的SMTP,这可以使用PHPMailer library

来完成

然而,还有另一个建议,这是我更喜欢的建议(因为SMTP可能包含一些您要搜索并修复它们的问题)。

另一个建议是使用PHP mailling API,如SendGridMailgun - (我更喜欢SendGrid)。

与PHP集成的基本SendGrid:

  1. 从此处https://github.com/sendgrid/sendgrid-php/releases/download/v6.2.0/sendgrid-php.zip下载SendGrid - 或按照installation instructions了解其他安装方式。

  2. 解压缩SendGrid-PHP库并将其上传到您的服务器。

  3. 使用此示例代码(根据您的需要进行编辑):https://github.com/sendgrid/sendgrid-php#quick-start