簡體   English   中英

嘗試在php中發送郵件時出現錯誤

[英]Getting error while trying to send mail in php

我收到錯誤消息,因為無法連接到“ localhost”端口25的郵件服務器...

我的php.ini文件的內容是

SMTP = localhost
smtp_port = 25

我用下面的代碼

mail("xyz@gmail.com","test","msg","from abc@gmail.com");

您不能從本地主機發送出站郵件。 要測試郵件功能,請安裝水銀郵件。 它應該隨xampp一起提供。 為steward @ localhost之類的localhost域創建電子郵件。 您可以使用別名。 通過將郵件從一個收件箱發送到另一個收件箱來進行測試。 您需要汞郵件的許可版本才能發送出站郵件。

另一個選擇是在遠程服務器上運行測試。 確保發件人的電子郵件被發送服務器識別。 就像您無法使用顯示的設置發送gmail消息一樣。

如果從gmail發送是您的目標,那么stackoverflow已經充滿了有關如何使用gmail發送郵件的答案,即使使用codeigniter也是如此。 需要一些?

這是您的要求:使用gmail發送郵件:

   require_once "Mail.php";

    $from = "<from.gmail.com>";
    $to = "<to.yahoo.com>";
    $subject = "Hi!";
    $body = "Hi,\n\nHow are you?";

    $host = "ssl://smtp.gmail.com";
    $port = "465";
    $username = "myaccount@gmail.com";  //<> give errors
    $password = "password";

    $headers = array ('From' => $from,
      'To' => $to,
      'Subject' => $subject);
    $smtp = Mail::factory('smtp',
      array ('host' => $host,
        'port' => $port,
        'auth' => true,
        'username' => $username,
        'password' => $password));

    $mail = $smtp->send($to, $headers, $body);

    if (PEAR::isError($mail)) {
      echo("<p>" . $mail->getMessage() . "</p>");
     } else {
      echo("<p>Message successfully sent!</p>");
     }

?>  <!-- end of php tag-->

在這里獲取信息: https : //stackoverflow.com/a/2748837/827224

如果您正在使用codeigniter或phpclasses.org中的任何PHP電子郵件類(如PHPMailer搜索電子郵件類),甚至可以做更多的事情。 一個示例是: http : //www.phpclasses.org/blog/package/9/post/1-Sending-email-using-SMTP-servers-of-Gmail-Hotmail-or-Yahoo-with-PHP.html

最后,這是您可以使用的類:

http://www.phpclasses.org/package/7834-PHP-Send-e-mail-messages-Gmail-users-via-SMTP.html

很明顯,在本地主機的端口25上沒有運行郵件服務器(或者防火牆阻止了它)。 獲取並安裝一個郵件服務器(對於Windows / linux / mac,有很多免費的-只需確保您的ISP允許它即可),您的腳本就可以正常運行。

我將其用於測試,這非常不錯: http : //smtp4dev.codeplex.com/它是一個偽造的電子郵件服務器,它攔截郵件並將其轉儲以供您在localhost上進行檢查和測試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM