PHP使用JMail發送郵件

來源:互聯網
上載者:User
我的機子上沒有安裝郵件伺服器,無法用內建的mail()函數發送郵件,空間所在虛擬機器主機上也沒有,socket和PHPMailer也不支援,但是Jmail這個組件卻有,於是便參考網路和文檔,測試通過下面一段郵件發送代碼: 程式碼<?php
$jmail=new COM("JMail.Message")or die("無法調用Jmail組件");
//屏蔽例外錯誤,靜默處理
$jmail->silent=true;
//編碼必須設定,否則中文會亂碼
$jmail->charset="gb2312";
//發信人郵件地址和名稱,能自訂,可以和郵件發送帳號不同
$jmail->From="admin@domain.com";
$jmail->FromName="webmaster";
//添加多個郵件接受者
$jmail->AddRecipient("xxxx@yeah.net");
$jmail->AddRecipient("xxxx@gmail.com");
$jmail->AddRecipient("xxx@qq.com");
//郵件主題和本文資訊
$jmail->Subject="PHP+Jmail測試發送郵件";
$jmail->Body="PHP+Jmail測試發送郵件內文文本";
//發信郵件帳號和密碼
$jmail->MailServerUserName="xxxx@sogou.com";
$jmail->MailServerPassword="123456";
try{
    //發送的時候附帶SMTP發信伺服器位址
    $retval=$jmail->Send("smtp.mail.sogou.com");
    if($retval)
    echo "發送成功";
    else
    echo "發送失敗";
}catch(Exception $e){
    echo $e->GetMessage();
}
?>

發信帳號必須有smtp發信許可權,對於網易的郵箱,06年後註冊的新郵箱好像不行,早期的倒可以。
還有,最好設定$jmail->silent=true,不讓jmail自行拋出錯誤資訊,在設定正常的時候,頻繁發信會出現一些錯誤,據我估計應該是發信伺服器設定了發信時間間隔。
經測試,我所用的發信郵箱帳號sogou郵箱,能夠正常向網易、QQ、GMail郵箱發送郵件資訊。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.