溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何使用PHP實(shí)現(xiàn)SMTP郵件的發(fā)送

發(fā)布時(shí)間:2020-07-20 09:56:47 來源:億速云 閱讀:160 作者:Leah 欄目:編程語言

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)如何使用PHP實(shí)現(xiàn)SMTP郵件的發(fā)送,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。


php利用smtp類來發(fā)郵件真是屢試不爽,我用過很久了,基本上沒出過問題。本博客后臺(tái),當(dāng)博主回復(fù)留言時(shí)候,會(huì)自動(dòng)給網(wǎng)友發(fā)一封有新回復(fù)提示的郵件也是用的本文這個(gè)方法實(shí)現(xiàn)的。

smtp類發(fā)送郵件的方法其實(shí)很簡單,也很穩(wěn)定,類是別人已經(jīng)寫好的了,你只需要調(diào)用就行了。幾行簡單的配置就能發(fā)郵件,是不是很期待的試一試呢!

<?php
 
/**
 * @param $address mixed 收件人 多個(gè)收件人/或需要設(shè)置收件人昵稱時(shí)為數(shù)組 array($address1,$address1)/array(array('address'=>$address1,'nickname'=>$nickname1),array('address'=>$address2,'nickname'=>$nickname2))
 * @param $subject string 郵件主題
 * @param $body string 郵件內(nèi)容
 * @param $file string 附件
 * @return bool|string 發(fā)送成功返回true 反之返回報(bào)錯(cuò)信息
 * @throws Exception
 */
function send_mail_by_smtp($address, $subject, $body, $file = '')
{
 require('./PHPMailer-master/Exception.php');
 require('./PHPMailer-master/PHPMailer.php');
 require('./PHPMailer-master/SMTP.php');
 
 //date_default_timezone_set("Asia/Shanghai");//設(shè)定時(shí)區(qū)東八區(qū)
 
 $mail = new PHPMailer();
 
 //Server settings
 $mail->SMTPDebug = 2;
 $mail->isSMTP();     // 使用SMTP方式發(fā)送
 $mail->Host = 'smtp.126.com';    // SMTP郵箱域名
 $mail->SMTPAuth = true;    // 啟用SMTP驗(yàn)證功能
 $mail->Username = "*****@126.com";   // 郵箱用戶名(完整email地址)
 $mail->Password = "*****";    // smtp授權(quán)碼,非郵箱登錄密碼
 $mail->Port = 25;
 $mail->CharSet = "utf-8";    //設(shè)置字符集編碼 "GB2312"
 
 // 設(shè)置發(fā)件人信息,顯示為 你看我那里像好人(xxxx@126.com)
 $mail->setFrom($mail->Username, '你看我那里像好人');
 
 //設(shè)置收件人 參數(shù)1為收件人郵箱 參數(shù)2為該收件人設(shè)置的昵稱 添加多個(gè)收件人 多次調(diào)用即可
 //$mail->addAddress('********@163.com', '你看我那里像好人');
 
 if (is_array($address)) {
 foreach ($address as $item) {
 if (is_array($item)) {
 $mail->addAddress($item['address'], $item['nickname']);
 } else {
 $mail->addAddress($item);
 }
 }
 } else {
 $mail->addAddress($address, 'adsf');
 }
 
 
 //設(shè)置回復(fù)人 參數(shù)1為回復(fù)人郵箱 參數(shù)2為該回復(fù)人設(shè)置的昵稱
 //$mail->addReplyTo('*****@126.com', 'Information');
 
 if ($file !== '') $mail->AddAttachment($file); // 添加附件
 
 $mail->isHTML(true); //郵件正文是否為html編碼 true或false
 $mail->Subject = $subject; //郵件主題
 $mail->Body = $body;  //郵件正文 若isHTML設(shè)置成了true,則可以是完整的html字符串 如:使用file_get_contents函數(shù)讀取的html文件
 //$mail->AltBody = 'This is the body in plain text for non-HTML mail clients'; //附加信息,可以省略
 
 return $mail->Send() ? true : 'ErrorInfo:' . $mail->ErrorInfo;
}
 
$path = '.\wpic907.jpg';
$ret = send_mail_by_smtp('*******@163.com', 'PHPMailer郵件標(biāo)題', 'PHPMailer郵件內(nèi)容', $path);


上述就是小編為大家分享的如何使用PHP實(shí)現(xiàn)SMTP郵件的發(fā)送了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI