php邮件无法与smtp.gmail.com一起发送

时间:2011-09-07 08:38:21

标签: php

  

可能重复:
  PHP mail using Gmail

代码:

<?
    //change this to your email.
    $to = "bhavesh412@gmail.com";
    $from = "bhavesh412@gmail.com";
    $subject = "Hello! This is HTML email";

    //begin of HTML message
    $message = <<<EOF
<html>
  <body bgcolor="#DCEEFC">
    <center>
        <b>Looool!!! I am reciving HTML email......</b> <br>
        <font color="red">Thanks Mohammed!</font> <br>
        <a href="http://www.maaking.com/">* maaking.com</a>
    </center>
      <br><br>*** Now you Can send HTML Email <br> Regards<br>MOhammed Ahmed - Palestine
  </body>
</html>
EOF;
   //end of message
    $headers  = "From: $from\r\n";
    $headers .= "Content-type: text/html\r\n";

    //options to send to cc+bcc
    //$headers .= "Cc: [email]maa@p-i-s.cXom[/email]";
    //$headers .= "Bcc: [email]email@maaking.cXom[/email]";

    // now lets send the email.
    ini_set("SMTP","smtp.gmail.com");
    ini_set("smtp_port","465");
    mail($to, $subject, $message, $headers);

    echo "Message has been sent....!";
?>

我收到以下错误:

  
    

警告:mail()[function.mail]:无法连接到“smtp.gmail.com”端口465的邮件服务器,验证php.ini中的“SMTP”和“smtp_port”设置或使用ini_set()第31行的C:\ xampp \ htdocs \ testMail.php

         

致命错误:第33行的C:\ xampp \ htdocs \ testMail.php超出了30秒的最长执行时间

  

3 个答案:

答案 0 :(得分:1)

Gmail服务器使用TLS和登录/密码验证,您不能将它们与PHP的mail()功能一起使用。

尝试使用Swiftmailer之类的邮件库。以下是可与Gmail配合使用的示例:http://swiftmailer.org/wikidocs/v3/connections/smtp

答案 1 :(得分:0)

您需要对gmail的SMTP服务器使用SMTP授权才能使用邮件无法正常工作。

看看PHPMailer他们有一个很好的例子here

答案 2 :(得分:0)

有时,isp在某种程度上为其客户提供免费的smtp服务。 google yourisp&amp; SMTP。