PHP中常用的發(fā)送郵件方法
來源:程序員人生 發(fā)布時間:2013-12-14 14:26:17 閱讀次數(shù):3023次
下面總結(jié)了三種在php實現(xiàn)郵件發(fā)送的實現(xiàn)代碼,包括有phpmailer,mail()函數(shù),JMail()這三種哦,有需要的朋友可參考一下。
利用php mail函數(shù)發(fā)送
使用mail()函數(shù)發(fā)送郵件,就必須要有一臺不需要驗證的SMTP服務(wù)器,這樣的話配置工作會多一點,但是使用的時候就比較省事了,幾行代碼就可以,代碼如下:
- $to = "test@163.com";
- $subject = "Test";
- $message = "This is a test mail!";
- mail($to,$subject,$message);
JMail發(fā)送郵件
賬號必須有smtp發(fā)信權(quán)限,最好設(shè)置$jmail->silent=true,不讓jmail自行拋出錯誤信息,常用的有網(wǎng)易、sogou、QQ、GMail郵箱,代碼如下:
- <?php
- $jmail = new COM('JMail.Message') or die('無法調(diào)用Jmail組件');
- $jmail->silent = true;
- $jmail->charset = 'gb2312';
- $jmail->From = 'web535000@163.com';
- $jmail->FromName = 'BoboTest';
- $jmail->AddRecipient('abc1@163.com');
-
-
- $jmail->Subject = 'email test.';
- $jmail->Body = 'this is test email.';
- $jmail->MailServerUserName = 'web535000@163.com';
- $jmail->MailServerPassword = '123456';
- try{
- $email = $jmail->Send('smtp.163.com');
- if($email) echo '發(fā)送成功';
- else echo '發(fā)送失敗';
- } catch (Exception $e){
- echo $e->getMessage();
- }
- ?>
發(fā)信賬號必須有smtp發(fā)信權(quán)限,對于網(wǎng)易的郵箱,06年后注冊的新郵箱好像不行,早期的倒可以,還有,最好設(shè)置$jmail->silent=true,不讓jmail自行拋出錯誤信息,在設(shè)置正常的時候,頻繁發(fā)信會出現(xiàn)一些錯誤,據(jù)我估計應(yīng)該是發(fā)信服務(wù)器設(shè)置了發(fā)信時間間隔。
phpmailer發(fā)送郵件,這個是相當(dāng)簡單的也是常用的,代碼如下:
- function postmail_jiucool_com($to,$subject = "",$body = ""){
-
-
-
- error_reporting(E_STRICT);
- date_default_timezone_set("Asia/Shanghai");
- require_once('class.phpmailer.php');
- include("class.smtp.php");
- $mail = new PHPMailer();
- $body = eregi_replace("[]",'',$body);
- $mail->CharSet ="UTF-8";
- $mail->IsSMTP();
- $mail->SMTPDebug = 1;
-
-
- $mail->SMTPAuth = true;
- $mail->SMTPSecure = "ssl";
- $mail->Host = "smtp.googlemail.com";
- $mail->Port = 465;
- $mail->Username = "SMTP服務(wù)器用戶名";
- $mail->Password = "SMTP服務(wù)器密碼";
- $mail->SetFrom('發(fā)件人地址,如admin#jiucool.com #換成@', '發(fā)件人名稱');
- $mail->AddReplyTo("郵件回復(fù)地址,如admin#jiucool.com #換成@","郵件回復(fù)人的名稱");
- $mail->Subject = $subject;
- $mail->AltBody = "To view the message, please use an HTML compatible email viewer! - From www.111cn.net";
- $mail->MsgHTML($body);
- $address = $to;
- $mail->AddAddress($address, "收件人名稱");
-
-
- if(!$mail->Send()) {
- echo "Mailer Error: " . $mail->ErrorInfo;
- } else {
- echo "Message sent!恭喜,郵件發(fā)送成功!";
- }
- }
PHPMailer的主要功能特點:
1.支持郵件 s/mime加密的數(shù)字簽名
2.支持郵件多個 TOs, CCs, BCCs and REPLY-TOs
3.可以工作在任何服務(wù)器平臺,所以不用擔(dān)心WIN平臺無法發(fā)送郵件的問題的
4.支持文本/HTML格式郵件
5.可以嵌入image圖像
6.對于郵件客戶端不支持HTML閱讀的進行支持
7.功能強大的發(fā)送郵件調(diào)試功能debug
8.自定義郵件header
9.冗余SMTP服務(wù)器支持
10.支持8bit, base64, binary, and quoted-printable 編碼
11.文字自動換行
12.支持多附件發(fā)送功能
13.支持SMTP服務(wù)器驗證功能
14.在Sendmail, qmail, Postfix, Gmail, Imail, Exchange 等平臺測試成功
15.提供的下載文件中,包括內(nèi)容詳細的說明文檔及示例說明,所以不用擔(dān)心難于上手的問題!
16.PHPMailer 非常小巧、簡單、方便、快捷
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機掃描二維碼進行捐贈