PHP 用mail()發郵件始終不成功。

來源:互聯網
上載者:User
mail() sendmail QQ郵箱

 


開發環境用的wamp,下載並安裝好了sendmail程式,按網上的說法也改好了php.ini和sendmail.ini
使用foxmail 7.1建立了自己QQ郵箱的賬戶,開啟了POP3/SMTP服務。更改發件伺服器為POP3,使用和收件伺服器相同的身分識別驗證。結果還是報錯:Warning: mail(): SMTP server response: 503 Error: need EHLO and AUTH first ! in F:\PHP\wamp\www\mail.php on line 8
不知道哪個地方不對,請會的人指教下。謝謝!!!


回複討論(解決方案)

可以嘗試phpmailer

$path = realpath(dirname(__FILE__)).'/../libraries/Mail.php';include("$path");;           $mail= new Mail(); //建立新物件 $mail->IsSMTP(); //?定使用SMTP方式寄信        $mail->SMTPAuth = true; //?定SMTP需要??        $mail->SMTPSecure = "ssl"; // Gmail的SMTP主?需要使用SSL??   $mail->Host = "smtp.gmail.com"; //Gamil的SMTP主?        $mail->Port = 465;  //Gamil的SMTP主?的SMTP埠位?465埠。        $mail->CharSet = "UTF-8"; //?定?件??              $mail->Username = "onlyfortestlzz@gmail.com"; //?定????        $mail->Password = "abcde"; //?定??密?              $mail->From = "onlyfortestlzz@gmail.com"; //?定寄件者信箱        $mail->FromName = "工作人?"; //?定寄件者姓名              $mail->Subject = "PHPMailer ??信件"; //?定?件??        $mail->Body = "你好";       //?定?件?容        $mail->IsHTML(true); //?定?件?容?HTML        $mail->AddAddress($this->input->post('backemail'), $value->username); //?定收件者?件及名?                                 if(!$mail->Send()) {    echo 'ok';                                                            }                

建議使用pear,安裝下面三個:
(1),Mail
(2),Net_SMTP
(3),Mail_Mime

mail()函數不成功是因為沒有
$mail->Host = "smtp.gmail.com"; //Gamil的SMTP主?
也就是不是從某個賬戶發送的。
這個函數發送的郵件被接收伺服器認為是垃圾郵件扔掉了。注意,郵箱中的垃圾郵件並不是很垃圾。而這裡直接扔掉了。
php都是使用phpmailer,少數使用pear。

mail 函數只能使用自己配置的、不需使用者認證的 SMTP 伺服器
如果你的 SMTP 未經電郵聯盟認可,則發出的郵件將被作為垃圾郵件處理

可以嘗試phpmailer

$path = realpath(dirname(__FILE__)).'/../libraries/Mail.php';include("$path");;           $mail= new Mail(); //建立新物件 $mail->IsSMTP(); //?定使用SMTP方式寄信        $mail->SMTPAuth = true; //?定SMTP需要??        $mail->SMTPSecure = "ssl"; // Gmail的SMTP主?需要使用SSL??   $mail->Host = "smtp.gmail.com"; //Gamil的SMTP主?        $mail->Port = 465;  //Gamil的SMTP主?的SMTP埠位?465埠。        $mail->CharSet = "UTF-8"; //?定?件??              $mail->Username = "onlyfortestlzz@gmail.com"; //?定????        $mail->Password = "abcde"; //?定??密?              $mail->From = "onlyfortestlzz@gmail.com"; //?定寄件者信箱        $mail->FromName = "工作人?"; //?定寄件者姓名              $mail->Subject = "PHPMailer ??信件"; //?定?件??        $mail->Body = "你好";       //?定?件?容        $mail->IsHTML(true); //?定?件?容?HTML        $mail->AddAddress($this->input->post('backemail'), $value->username); //?定收件者?件及名?                                 if(!$mail->Send()) {    echo 'ok';                                                            }                
謝謝。使用PHPMAILER已解決。
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.