本文目錄一覽:
- 1、如何用php收取pop3的郵件
- 2、有沒有php獲取POP3郵件的內容和附件的控件
- 3、請問一下,PHP配置SMTP怎麼弄?
- 4、電子郵件中收件人、發件人、抄送、密件抄送、主題、正文、附件、POP3、SMTP等名詞的具體含義
如何用php收取pop3的郵件
給你一個用 PEAR 的類庫的例子:
?php
require_once(‘Net/POP3.php’);
$pop3 = new Net_POP3;
$pop3-connect(‘localhost’, 110);
$pop3-login(‘popuser’, ‘poppassword’, false);
$msgCnt = $pop3-numMsg();
$headers = $pop3-getParsedHeaders($msgCnt);
$from = mb_decode_mimeheader($headers[‘From’]);
$subject = mb_decode_mimeheader($headers[‘Subject’]);
$content = $pop3-getBody($msgCnt);
$pop3-disconnect();
echo “From: $from\n”;
echo “Subject: $subject\n”;
echo “Body: $content\n”;
?
安裝類庫的命令
pear install Net_Pop3
有沒有php獲取POP3郵件的內容和附件的控件
php發郵件可以,收郵件不行吧?除非用SOCKET監聽端口
一般php響應請求,是通過APACHE調用php模塊實現,請求是先通過APACH再轉發給PHP處理的.
而APACHE監聽的一般是80端口
mail的pop好像是110端口吧?不記得了,反正不是80,所以php收郵件不好實現.
請問一下,PHP配置SMTP怎麼弄?
PHPMailer的獲取:
PHPMailer項目地址:PHPMailer 使用git命令克隆到本地,或直接在該項目頁面的右下方點擊「 Download ZIP 」即可獲取到完整的PHPMailer代碼包,再到本地解壓即可。
步驟一:使我們的QQ郵箱能夠發送郵件
這裡怎麼說能夠發送郵件呢?其實我們的郵箱都是可以發送郵件的,但是要實現在我們的網站中發送郵件,那就要設置一下我們的QQ郵箱了,因為此時我們的網站現在是作為一個第三方客戶端存在的。
步驟一:使我們的QQ郵箱能夠發送郵件
這裡怎麼說能夠發送郵件呢?其實我們的郵箱都是可以發送郵件的,但是要實現在我們的網站中發送郵件,那就要設置一下我們的QQ郵箱了,因為此時我們的網站現在是作為一個第三方客戶端存在的
由於待會我們用到的是SMTP服務器來發送,在這裡建議把前面的兩項開啟了!當你點擊開啟的時候,它會提示:
當你完成以上步驟之後,就會得到一個授權碼,你可以先複製出來,待會我們會用到(開啟兩項的話會得到兩個授權碼,用最後的那個授權碼!或者點擊下面的生成授權碼來獲取一個新的授權碼,一定要最新的!)。
步驟二:使我們的PHP能夠使用QQ郵箱發送郵件
PHPMailer需PHP的socket擴展支持,而PHPMailer鏈接qq域名郵箱時需要ssl加密方式,固php還得openssl的支持,可以查看phpinfo,如下兩項均存在則可以使用,其中openssl版本號之類不用管;許多虛擬主機中的php是不支持openssl擴展的,那你可能就悲劇了。
步驟三:將PHPMailer做一定的處理
由於我們下載下來的PHPMailer文件夾裡邊的文件有很多我們是用不上的,所以我們也沒必要浪費這些內存。我們可以對這個文件夾瘦身,在這裡我只保存了以下的幾個文件:class.phpmailer.php、class.phpmaileroauth.php、class.pop3.php、class.smtp.php、PHPMailerAutoload.php。
/*發送郵件方法
*@param $to:接收者 $title:標題 $content:郵件內容
*@return bool true:發送成功 false:發送失敗
*/function sendMail($to,$title,$content){ //引入PHPMailer的核心文件 使用require_once包含避免出現PHPMailer類重複定義的警告
require_once(“phpmailer/class.phpmailer.php”);
require_once(“phpmailer/class.smtp.php”); //實例化PHPMailer核心類
$mail = new PHPMailer(); //是否啟用smtp的debug進行調試 開發環境建議開啟 生產環境注釋掉即可 默認關閉debug調試模式
$mail-SMTPDebug = 1; //使用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; //設置smtp的helo消息頭 這個可有可無 內容任意
// $mail-Helo = ‘Hello smtp.qq.com Server’;
//設置發件人的主機域 可有可無 默認為localhost 內容任意,建議使用你的域名
$mail-Hostname = ”; //設置發送的郵件的編碼 可選GB2312 我喜歡utf-8 據說utf8在某些客戶端收信下會亂碼
$mail-CharSet = ‘UTF-8’; //設置發件人姓名(昵稱) 任意內容,顯示在收件人郵件的發件人郵箱地址前的發件人姓名
$mail-FromName = ‘LSGO實驗室’; //smtp登錄的賬號 這裡填入字符串格式的qq號即可
$mail-Username =’12345678@qq.com’; //smtp登錄的密碼 使用生成的授權碼(就剛才叫你保存的最新的授權碼)
$mail-Password = ‘sqyofzbqlfkntbncl’; //設置發件人郵箱地址 這裡填入上述提到的「發件人郵箱」
$mail-From = ‘12345678@qq.com’; //郵件正文是否為html編碼 注意此處是一個方法 不再是屬性 true或false
$mail-isHTML(true);
//設置收件人郵箱地址 該方法有兩個參數 第一個參數為收件人郵箱地址 第二參數為給該地址設置的昵稱 不同的郵箱系統會自動進行處理變動 這裡第二個參數的意義不大
$mail-addAddress($to,’lsgo在線通知’); //添加多個收件人 則多次調用方法即可
// $mail-addAddress(‘xxx@163.com’,’lsgo在線通知’);
//添加該郵件的主題
$mail-Subject = $title; //添加郵件正文 上方將isHTML設置成了true,則可以是完整的html字符串 如:使用file_get_contents函數讀取本地的html文件
$mail-Body = $content; //為該郵件添加附件 該方法也有兩個參數 第一個參數為附件存放的目錄(相對目錄、或絕對目錄均可) 第二參數為在郵件附件中該附件的名稱
// $mail-addAttachment(‘./d.jpg’,’mm.jpg’);
//同樣該方法可以多次調用 上傳多個附件
// $mail-addAttachment(‘./Jlib-1.1.0.js’,’Jlib.js’);
$status = $mail-send(); //簡單的判斷與提示信息
if($status) { return true;
}else{ return false;
}
}
?phprequire_once(“./functions.php”);$flag = sendMail(‘456789@qq.com’,’lsgo在線通知’,’恭喜你成功加入LSGO實驗室,開啟你的學習之旅吧!’);if($flag){ echo “發送郵件成功!”;
}else{ echo “發送郵件失敗!”;
}?
電子郵件中收件人、發件人、抄送、密件抄送、主題、正文、附件、POP3、SMTP等名詞的具體含義
收件人:你要發送給誰
發件人:誰發的郵件
抄送:把這封郵件的副本同時發送給誰
密件抄送:和抄送的區別是抄送收件人能看到都抄送給誰了,但是密送收件人看不到抄送給誰了
主題:郵件標題,跟文章標題一樣
正文:郵件主體,跟文章內容一樣
附件:郵件附加的文件,可以在傳送文字內容的同時附帶文件同時傳送給對方
pop3:一種郵件接收協議,郵件客戶端利用這個協議從服務器讀取郵件
smtp:一種郵件發送協議,郵件客戶端利用這個協議將郵件從你本機發送到服務器
原創文章,作者:ZFKI,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/141824.html