一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - 實例分析PHP中PHPMailer發郵件

實例分析PHP中PHPMailer發郵件

2021-07-21 16:06segmentfault PHP教程

本篇文章通過QQ郵箱為例給大家講解了PHPMaIiler的使用方法和技巧,跟著小編學習下吧。

下面以qq郵箱為例,按照這四個方面來介紹phpmaiiler的使用:

phpmailer的介紹步驟一:使qq郵箱能夠發送郵件步驟二:使php能夠使用qq郵箱發送郵件步驟三:編寫發送郵件代碼 thinkphp使用phpmailer 發送郵件

phpmailer的介紹

可運行在任何平臺之上;支持smtp驗證;發送郵時指定多個收件人,抄送地址,暗送地址和回復地址;注:添加抄送、暗送僅win平臺下smtp方式支持;支持多種郵件編碼包括:8bit,base64,binary和quoted-printable;自定義郵件頭信息,這跟php中通過header函數發送頭信息類似支持將郵件正文制作成html內容,那么就可以在郵件正文中插入圖片;經測試兼容的smtp服務器包括:sendmail,qmail,postfix,imail,exchange等。

步驟一:使qq郵箱能夠發送郵件

我們的郵箱本來可以發送郵件,但是要實現在我們的網站中發送郵件,那就要設置一下我們的qq郵箱了,因為此時我們的網站現在是作為一個第三方客戶端存在的,所以需要用到的是smtp服務器來發送,在這里建議把前面的兩項開啟了!

進入qq郵箱->點擊設置->點擊賬戶

實例分析PHP中PHPMailer發郵件

當你點擊開啟的時候,它會提示:

實例分析PHP中PHPMailer發郵件

當你完成以上步驟之后,就會得到一個授權碼,你可以先復制出來,待會我們會用到(開啟兩項的話會得到兩個授權碼,一定要最新的!)。

步驟二:使php能夠使用qq郵箱發送郵件

phpmailer需要php的socket擴展支持,而phpmailer鏈接qq域名郵箱時需要ssl加密方式,還得php的openssl擴展支持,可以使用phpinfo查看是否開啟擴展。

實例分析PHP中PHPMailer發郵件

如未開啟,到php安裝目錄找到php.ini中開啟兩個擴展支持。

實例分析PHP中PHPMailer發郵件

步驟三:編寫發送郵件代碼

index.html代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!doctype html>
<html lang="en">
<head>
 <meta charset="utf-8">
 <title>document</title>
</head>
<body>
<form action="./index.php" method="post" >
 郵箱:<input type="text" id="mail" name="mail"/>
 標題:<input type="text" id="title" name="title"/>
 內容<input type="text" id="content" name="content"/>
 <input type="submit" value="發送"/>
</form>
</body>
</html>

 

封裝一個公共的方法(寫在 functions.php 文件中):

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/**
 *發送郵件方法
 *@param $to:接收者 $title:標題 $content:郵件內容
 *@return bool true:發送成功 false:發送失敗
 */
function sendmail($to,$title,$content){
 require_once("phpmailer/class.phpmailer.php");
 require_once("phpmailer/class.smtp.php");
 //實例化phpmailer核心類
 $mail = new phpmailer();
 //使用smtp鑒權方式發送郵件
 $mail->issmtp();
 //smtp需要鑒權 這個必須是true
 $mail->smtpauth=true;
 //鏈接qq域名郵箱的服務器地址
 $mail->host = 'smtp.qq.com';
 //設置使用ssl加密方式登錄鑒權
 $mail->smtpsecure = 'ssl';
 //設置ssl連接smtp服務器的遠程服務器端口號,以前的默認是25,但是現在新的好像已經不可用了 可選465或587
 $mail->port = 465;
 //設置發件人的主機域 可有可無 默認為localhost 內容任意,建議使用你的域名
 $mail->hostname = 'http://www.lsgogroup.com';
 //設置發送的郵件的編碼 可選gb2312 我喜歡utf-8 據說utf8在某些客戶端收信下會亂碼
 $mail->charset = 'utf-8';
 //設置發件人姓名(昵稱) 任意內容,顯示在收件人郵件的發件人郵箱地址前的發件人姓名
 $mail->fromname = '發件人姓名(昵稱)';
 //smtp登錄的賬號 這里填入字符串格式的qq號即可
 $mail->username ='[email protected]';
 //smtp登錄的密碼 使用生成的授權碼(就剛才保存的最新的授權碼)
 $mail->password = '最新的授權碼';
 //設置發件人郵箱地址 這里填入上述提到的“發件人郵箱”
 $mail->from = '[email protected]';
 //郵件正文是否為html編碼 注意此處是一個方法 不再是屬性 true或false
 $mail->ishtml(true);
 //設置收件人郵箱地址 該方法有兩個參數 第一個參數為收件人郵箱地址 第二參數為給該地址設置的昵稱 不同的郵箱系統會自動進行處理變動 這里第二個參數的意義不大
 $mail->addaddress($to,'尊敬的客戶');
 //添加多個收件人 則多次調用方法即可
 // $mail->addaddress('[email protected]','尊敬的客戶');
 //添加該郵件的主題
 $mail->subject = $title;
 //添加郵件正文 上方將ishtml設置成了true,則可以是完整的html字符串
 $mail->body = $content;
 $status = $mail->send();
 //判斷與提示信息
 if($status) {
  return true;
 }else{
  return false;
 }
}

 

index.php代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
<?php
require_once("./functions.php");
$to=$_post['mail'];
$title=$_post['title'];
$content=$_post['content'];
$flag = sendmail($to,$title,$content);
if($flag){
 echo "發送郵件成功!";
}else{
 echo "發送郵件失敗!";
}
?>

 

如果你使用的是qq企業郵箱,那么鏈接qq域名郵箱的服務器地址和smtp登錄的密碼就不同了:

?
1
2
3
4
//鏈接qq域名郵箱的服務器地址
$mail->host = 'smtp.exmail.qq.com';
//smtp登錄的密碼 (qq企業郵箱的登錄密碼)
$mail->password = '登錄密碼';

 

thinkphp使用phpmailer 發送郵件

phpmailer解壓到thinkphplibraryvendor

在common文件夾新建function.php

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/**
 * 郵件發送函數
 * @param $to:接收者 $title:標題 $content:郵件內容
 * @return bool true:發送成功 false:發送失敗
 */
function sendmail($to, $title, $content) {
 vendor('phpmailer.phpmailerautoload');
 vendor('phpmailer.class.smtp');
 $mail = new phpmailer(); //實例化
 $mail->issmtp(); // 啟用smtp
 $mail->host=c('mail_host'); //smtp服務器的名稱
 $mail->smtpsecure = c('mail_secure');
 $mail->port = c('mail_port');
 $mail->smtpauth = c('mail_smtpauth'); //啟用smtp認證
 $mail->username = c('mail_username'); //你的郵箱名
 $mail->password = c('mail_password') ; //郵箱密碼
 $mail->from = c('mail_from'); //發件人地址(也就是你的郵箱地址)
 $mail->fromname = c('mail_fromname'); //發件人姓名
 $mail->addaddress($to,"尊敬的客戶");
 $mail->wordwrap = 50; //設置每行字符長度
 $mail->ishtml(c('mail_ishtml')); // 是否html格式郵件
 $mail->charset=c('mail_charset'); //設置郵件編碼
 $mail->subject =$title; //郵件主題
 $mail->body = $content; //郵件內容
 $mail->altbody = "您好"; //郵件正文不支持html的備用顯示
 return($mail->send());
}

 

添加配置文件config.php

?
1
2
3
4
5
6
7
8
9
10
11
// 配置郵件發送服務器
 'mail_host' =>'smtp.qq.com',//smtp服務器的名稱
 'mail_smtpauth' =>true, //啟用smtp認證
 'mail_username' =>'[email protected]',//你的郵箱名
 'mail_from' =>'[email protected]',//發件人地址
 'mail_fromname'=>'[email protected]',//發件人姓名
 'mail_password' =>'xxxxxx,//郵箱密碼
 'mail_charset' =>'utf-8',//設置郵件編碼
 'mail_ishtml' =>true, // 是否html格式郵件
 'mail_port' =>'465',//設置ssl連接smtp服務器的遠程服務器端口號
 'mail_secure' =>'ssl',//設置使用ssl加密方式登錄鑒權

 

最后就是使用phpmailer發送郵件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!doctype html>
<html lang="en">
<head>
 <meta charset="utf-8">
 <title>document</title>
</head>
<body>
<form action="/index.php/admin/test/add" method="post" enctype="multipart/form-data">
 郵箱:<input type="text" id="mail" name="mail"/>
 標題:<input type="text" id="title" name="title"/>
 內容<input type="text" id="content" name="content"/>
 <input type="submit" value="發送"/>
</form>
</body>
</html>
?
1
2
3
4
5
6
public function add(){
  if(sendmail($_post['mail'],$_post['title'],$_post['content']))
   echo "發送成功";
  else
   echo "發送失敗";
 }

原文鏈接:https://segmentfault.com/a/1190000012390279

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 999久久久免费精品国产牛牛 | 天天色踪合 | 色哟哟精品| 色哟约 | 日本老妇人乱视频 | 国产在线精品亚洲第一区香蕉 | 波多野结衣 在线播放 | 色综合网天天综合色中文男男 | 国产精品第3页 | 国产99视频精品免费视频免里 | 好 舒服 好 粗 好硬免费视频 | 好大好硬好紧太深了受不了 | 潘金莲西门庆一级淫片aaaaaa | 国产精品嫩草影院一二三区入口 | 人人澡 人人澡碰人人看软件 | 国产农村一级特黄α真人毛片 | 欧美综合亚洲图片综合区 | 免费日韩 | 星星动漫在线观看无删减 | ady久久| 女学生被老师调教在教室 | 亚洲成A人片在线观看中文L | 性妲己| 国产拍拍拍免费专区在线观看 | 蛮荒的童话未删减在线观看 | 国产yw193.㎝m在线观看 | 国产极品麻豆91在线 | 热九九精品 | 调教扩张宫颈女人惨叫 | 成人性用品| 欧美最猛性xxxxx短视频 | 我和老丈洗澡同性 | 校草太大了h | 国产真实一区二区三区 | 日韩国产成人精品视频 | 欧美日韩一区二区三区在线观看 | 欧美福利在线播放 | 国产精品午夜国产小视频 | 女上男下gifxxoo动态视频 | 啾咪成人漫画免费 | 乌克兰一级毛片 |