PHP內置的mail函數使用起來不夠方便,另外受其他語言的影響,博主更偏好面向對象的包管理模式,因此phpmailer成為了我用PHP發送郵件的首選,這里分享給大家。
庫導入
這里使用composer進行包管理,以下是json文件:
1
2
3
4
5
6
7
|
{ "name" : "" , "description" : "test the mail" , "require" : { "PHPMailer/PHPMailer" : "*" } } |
使用樣例
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
|
<?php // include("./vendor/autoload.php"); include ( "./vendor/phpmailer/phpmailer/class.phpmailer.php" ); include ( "./vendor/phpmailer/phpmailer/class.smtp.php" ); function postmail( $to , $subject = "" , $body = "" ) { $mail = new PHPMailer(); #創建PHPMailer實例 $mail ->CharSet = 'utf-8' ; #設置編碼形式,默認為iso-8859-1 $mail ->isSMTP(); #表示使用SMTP服務 $mail ->SMTPAuth = true; #使用SMTP認證 $mail ->Host = 'smtp.163.com' ; #SMTP主機名,這里以163為例 $mail ->Password = "xxxx" ; #SMTP用戶的密碼(現在多采用授權碼的形式) #下面的部分是用戶可見的 $mail ->Subject = $subject ; #郵件主題 $mail ->msgHTML( $body ); #郵件內容,這里采用HTML形式 $mail ->addAddress( $to , '' ); #地址,第二個參數是接受者,發送對象名為 '' 時,163的測試結果是SMTP服務商會把它改成‘我' $mail ->addAttachment( './php.png' ); #添加附件 #發送 if ( $mail ->send()) { echo "郵件發送成功" ; } else { echo "郵件發送失敗" ; } } ?> |
測試結果
博主使用163作為發送方,發送給QQ郵箱、163郵箱均通過測試。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:http://www.cnblogs.com/fanghao/archive/2017/08/21/7407143.html