天天看點

php本地localhost發送email

51CTO郁悶死我啦,好不容易整了一大段,一發表失敗,還得從頭再來,太不人性化了,需要改進啊,最起碼也得先本地儲存一下吧。

這裡是在本地通過smtp.sina.com的伺服器給163的郵箱發郵件,當然你可以具體看情況設定

testmail.php:

<?php

/**

 * 本執行個體通過Auth SMTP發送一個帶有 文本 + HTML + 内嵌圖檔 + 附件 

 * 的 eMail

 */

 * 首先需要包含此類并聲明一個變量

include ('mimemail.inc.php');

$mimemail = new nomad_mimemail();

 * 首先設定SMTP的值

 * 注: SMTP使用者可以是一個email如果需要的話

$smtp_host  = "smtp.sina.com";  // *修改值*

$smtp_user  = "username";    // *修改值*

$smtp_pass  = "123456";    // *修改值*

 * 設定mail變量值建立郵件

 * 檢查下$html變量,帶有一個img标簽設定了src='image.gif'

$from    = "[email protected]";  // *修改值*

$to    = "[email protected]";  // *修改值*

$subject  = "來一個MIME Mail例子";

$text    = "這裡是MIME Mail純文字\n\n";

$html    = "<p>這是一個 <b>MIME</b>郵件,帶有:</p>

         <ul>

         <li>純文字</li>

         <li>HTML</li>

         <li>嵌入圖檔</li>

         <li>附件</li>

         </ul>

         <img src='my_image.jpg' border='0'>";

 * 設定附件的檔案路徑

$attach_image  = "imgs/image.jpg";

$attach_file  = "imgs/file.gz";

 * 設定類中的所有變量值

$mimemail->set_from($from);

$mimemail->set_to($to);

$mimemail->set_subject($subject);

$mimemail->set_text($text);

$mimemail->set_html($html);

// 聲明上面5行的快捷方式是

// $mimemail->new_mail($from, $to, $subject, $text, $html);

 * 添加附件根據檔案名, 你會發現方法中的圖檔名和HTML文本中嵌入圖檔的聲明的相同

 * 

$mimemail->add_attachment($attach_image, "my_image.jpg");

$mimemail->add_attachment($attach_file, "my_file.gz");

 * 設定SMTP值.

 * 如果你不需要Auth SMTP你可以注釋掉set_smtp_auth部分

 * 如果你不需要任何的SMTP你可以注釋掉這2行,那麼mail通過php的mail函數發送

$mimemail->set_smtp_log(true); // 如果你需要調試SMTP連結時

$mimemail->set_smtp_host($smtp_host);

$mimemail->set_smtp_auth($smtp_user, $smtp_pass);

$mimemail->set_charset('GBK');//中文編碼

 * 發送郵件

if ($mimemail->send()){

        echo "MIME Mail郵件已經發送.";

}

else {

        echo "發送錯誤,郵件沒有被發送.";

echo "<br><br><textarea cols=80 rows=30>" . $mimemail->get_smtp_log() . "</textarea>"; // 如果你需要調試SMTP連結時

 />

用到的類

<a href="http://www.phpclasses.org/browse/package/1267.html">http://www.phpclasses.org/browse/package/1267.html</a>

還有一個試了試本地不行需要認證

ini_set('SMTP', 'smtp.sina.com');

$headers ='MIME-Version: 1.0'."\r\n";

$headers .='Content-type: text/html; charset=gbk'."\r\n";

$headers .='From: [email protected]'."\r\n";

mail("[email protected]","測試mail()函數","這裡我們測試一下mail函數的用法",$headers);

&gt;

位址

<a href="http://roshanbh.com.np/2007/12/sending-e-mail-from-localhost-in-php-in-windows-environment.html">http://roshanbh.com.np/2007/12/sending-e-mail-from-localhost-in-php-in-windows-environment.html</a>

 本文轉自 xcf007 51CTO部落格,原文連結:http://blog.51cto.com/xcf007/138957,如需轉載請自行聯系原作者