php接收郵件
① 跪求懂php郵件接收的大神給指點一下怎樣實現郵件的接收功能
可以採用 phpmailer類,來做郵件發送,這也是很多PHP程序所採用的一個類發
<?php
require(ROOT.'/class/phpMailer.class.php');//郵件發送類
/**
*發送郵件
*@paramstring$to接收人郵件地址
*@paramstring$title郵件標題
*@paramstring$contents郵件內容支持HTML格式
*@paramstring$type判斷是否要加附件
*@paramstring$accessory附件的名字
*@return成功返回true,失敗返回錯誤信息
*/
functionsendEmail($to,$title,$contents,$type='',$accessory=''){
$mail=newPhpMailer(true);
$mail->IsSMTP();
$mail->CharSet="UTF-8";//編碼
$mail->Debugoutput='html';//支持HTML格式
$mail->Host=T_SMTP_SERVER;//HOST地址
$mail->Port=25;//埠
$mail->SMTPAuth=true;
$mail->Username=T_SMTP_LOGIN;//用戶名
$mail->Password=T_SMTP_PASSWORD;//密碼
$mail->SetFrom(T_SMTP_FROM,T_SMTP_FROM_NAME);//發件人地址,發件人名稱
$mail->AddAddress($to);//收信人地址
//$mail->Subject="=?utf-8?B?".base64_encode()."?=";
if(!empty($type)){
$mail->AddAttachment($type,$accessory);//添加附件,並指定名稱
}
$mail->Subject=$title;//郵件標題
$mail->MsgHTML($contents);
if($mail->Send()){
returntrue;
}else{
return$mail->errorMessage();
}
}
?>
望採納 Thx
② PHP 編寫一個接收郵件的程序
http://down.51vip.net/soft/5/117/2008/2008032220487.asp
可以用來通過Web發送HTML格式的電子郵件。運行此腳本程序伺服器還要開放SMTP服務和支持PHP。此程序不但會通過PHP對發件人和收件人的郵件地址進行格式檢查,而且可以轉換掉郵件內容里的不良詞語。新版本的設置功能更強大,可以設置界面的顏色及文字
③ 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 接收郵件的代碼嗎 注意是接收哦
接收郵件可以的,直接上代碼
<?php
$server="{bjmail.*.com/pop3}";//郵件伺服器
$mailbox="inbox";//收件箱
$mailaccount="zhao**";//用戶名
$mailpasswd="";//密碼
$stream=@imap_open($server.$mailbox,$mailaccount,$mailpasswd);//打開IMAP連結
$mail_number=imap_num_msg($stream);//信件的個數
if($mail_number<1){echo"NoMessagefor$email";}//如果信件數為0,顯示信息
for($i=$mail_number;$i>=$mail_number;$i--)
{
$headers=@imap_header($stream,$i);
$mail_header=imap_headerinfo($stream,$i);//郵件頭部
//var_mp($mail_header);
$subject=$mail_header->subject;//郵件標題
$subject=decode_mime($subject);
echo$subject;
//編碼為簡體中文的標題的處理方法
//if(stristr($subject,"=?gb2312"))
//{//編碼為簡體中文的標題
//$subject=substr($subject,11);
//$subject=substr($subject,0,-2);
//$subject=base64_decode($subject);
//}
echo$from=$mail_header->fromaddress;//發件人
echo$date=$mail_header->date;//日期
$body=imap_fetchbody($stream,$i,1);
$body=imap_base64($body);
$body=nl2br($body);
echo$body;
//$body=imap_qprint($body);
//echo$body;
//$body=imap_binary($body);
//$body=imap_base64($body);
//echo$body;
}
functiondecode_mime($string)
{
$pos=strpos($string,'=?');
if(!is_int($pos)){
return$string;
}
$preceding=substr($string,0,$pos);//saveanyprecedingtext
$search=substr($string,$pos+2);/**/
$d1=strpos($search,'?');
if(!is_int($d1)){
return$string;
}
$charset=substr($string,$pos+2,$d1);//取出字元集的定義部分
$search=substr($search,$d1+1);//字元集定義以後的部分=>$search;
$d2=strpos($search,'?');
if(!is_int($d2)){
return$string;
}
$encoding=substr($search,0,$d2);////兩個?之間的部分編碼方式:q或b
$search=substr($search,$d2+1);
$end=strpos($search,'?=');//$d2+1與$end之間是編碼了的內容:=>$endcoded_text;
if(!is_int($end)){
return$string;
}
$encoded_text=substr($search,0,$end);
$rest=substr($string,(strlen($preceding.$charset.$encoding.$encoded_text)+6));//+6是前面去掉的=????=六個字元
switch($encoding){
case'Q':
case'q':
//$encoded_text=str_replace('_','%20',$encoded_text);
//$encoded_text=str_replace('=','%',$encoded_text);
//$decoded=urldecode($encoded_text);
$decoded=quoted_printable_decode($encoded_text);
if(strtolower($charset)=='windows-1251'){
$decoded=convert_cyr_string($decoded,'w','k');
}
break;
case'B':
case'b':
$decoded=base64_decode($encoded_text);
if(strtolower($charset)=='windows-1251'){
$decoded=convert_cyr_string($decoded,'w','k');
}
break;
default:
$decoded='=?'.$charset.'?'.$encoding.'?'.$encoded_text.'?=';
break;
}
return$preceding.$decoded.decode_mime($rest);
//return$preceding.$decoded.$this->decode_mime($rest);
}
⑤ php郵件發送,怎麼獲知接收情況(如成功送達、被拒收等)
是的,無法獲知送達、閱讀、被拒。網路上的郵件系統,和現實中的郵件系統非常類似:
我們生活的地球上到處分布著郵局,郵局有許多公共郵筒,大家發信只需扔到郵筒裡面即可。郵局負責把郵筒裡面的郵件發送到信封上目的地所在的郵局,目的地郵件把收到的信件放在每個人的信箱的裡面,等別人自己來拿。
你寫的PHP程序只完成把你寫給別人的信送到郵局的郵筒裡面,無法知道目的地址是否正確,扔進去就算成功。
⑥ php用imap收取郵件,當密碼錯誤時驗證時間很長,不知道為什麼。
//以騰訊企業郵箱做了測試
$mailServer="imap.exmail.qq.com"; //IMAP主機
$mailLink="{{$mailServer}:143}INBOX" ; //imagp連接地址:不同主機地址不同
$mailUser = '***'; //郵箱用戶名
$mailPass = '***'; //郵箱密碼
$mbox = imap_open($mailLink,$mailUser,$mailPass); //開啟信箱imap_open
$totalrows = imap_num_msg($mbox); //取得信件數
for ($i=1;$i<$totalrows;$i++){
$headers = imap_fetchheader($mbox, $i); //獲取信件標頭
$headArr = matchMailHead($headers); //匹配信件標頭
$mailBody = imap_fetchbody($mbox, $i, 1); //獲取信件正文
}
/**
*
* 匹配提取信件頭部信息
* @param String $str
*/
function matchMailHead($str){
$headList = array();
$headArr = array(
'from',
'to',
'date',
'subject'
);
foreach ($headArr as $key){
if(preg_match('/'.$key.':(.*?)[\n\r]/is', $str,$m)){
$match = trim($m[1]);
$headList[$key] = $key=='date'?date('Y-m-d H:i:s',strtotime($match)):$match;
}
}
return $headList;
}
⑦ PHP郵件接收到網頁表單信息為亂碼
資料庫 頁面 文件編碼統一
⑧ php 可以收郵件 也可以發郵件的類,跪求
PHPMailer,這個應該是最好,用的最多的了,也比較簡單
⑨ 如何用PHPMailer接收郵件
現以中文版Outlook Express 4.0 為例進行設置:(一次設置長期可用) 1.單擊窗口中的「工具/帳號」選項打開窗口; 2.在窗口中點擊「郵件」標簽; 3.單擊「添加」按鈕,選擇「郵件」選項; 4.在輸入姓名窗口中,輸入您的用戶名,單擊「下一步」按鈕; 5.輸入您在中國工商報網郵件中申請的電子郵件地址,如:[email protected]; 6.在「電子郵件伺服器名」窗口中設置郵件伺服器; 7.選擇接收郵件伺服器為「POP3」; 8.在接收伺服器下輸入中國工商報網郵件的POP3伺服器名稱:211.100.8.31 9.在發送郵件的伺服器中,您可以輸入本地的發件伺服器,也可以輸入中國工商報網郵件的發件伺服器名稱:211.100.8.31 設置完成後, 單擊「下一步」按鈕; 10.在登錄窗口選擇登錄方式,輸入POP帳號名,如郵箱是[email protected],帳號名(用戶名)是yourname; 11.輸入密碼,密碼一般為星號顯示。如果您沒有輸入密碼,系統會在接收郵件時會提示輸入密碼。單擊「下一步」按鈕; 12.輸入Internet Mail帳號名(用戶名),您可以採用系統默認名稱,也可以修改; 13.單擊「完成」按鈕完成添加。 您可以單擊窗口中的「發送接收」進行收發郵件。