當前位置:首頁 » 編程語言 » phpimap

phpimap

發布時間: 2022-03-02 12:19:36

A. 如何擴展php的IMAP模塊

如果對php進行模塊擴展,重新編譯PHP,這個過程比較痛苦,我的方法都是採用編譯模塊為*.so的方式,簡單,方便,不用去其他地方找模塊源碼包,php源碼自帶了。

1、進入安裝目錄
cd /path/ext/imap
/usr/local/webserver/php/bin/phpize
./configure --with-php-config=/usr/local/webserver/php/bin/php-config

就是到這步報錯了,如果你碰到這樣的錯誤:
This c-client library is built with Kerberos support.
Add --with-kerberos to your configure line. Check config.log for details

utf8_mime2text() has new signature

以上2個錯誤都是由於缺少 libc-client-* 軟體包引起,由於我是Centos系統,就直接yum升級吧
yum -y install libc-client-*

安裝完畢後,再次編譯,
./configure --with-php-config=/usr/local/webserver/php/bin/php-config

這次的錯誤不一樣,如下:
configure: error: Kerberos libraries not found.
Check the path given to --with-kerberos (if no path is given, searches in /usr/kerberos, /usr/local and /usr )

既然提示少參數,就加上該參數吧,
./configure --with-php-config=/usr/local/webserver/php/bin/php-config --with-kerberos=/usr

注意:這里有3個路徑可以選擇,於是就一個一個試一下,很幸運的是前面2個都不能編譯通過,只有 --with-kerberos=/usr 可以,但是還是有報錯,如下:
This c-client library is built with SSL support

看來離希望越來越近了,於是就加上 --with-imap-ssl=/usr 參數,終於編譯通過了,真不容易。

最後完整的編譯 imap 模塊參數如下:
./configure --with-php-config=/usr/local/webserver/php/bin/php-config --with-kerberos=/usr --with-imap-ssl=/usr
make
make install

B. 如何讓PHP支持IMAP函數

我建議你可以去後盾人那看看.那裡的學習視頻非常多.質量也不錯. 視頻都是一線講師親自錄制的.含金量高.講的內容都是目前市場上最新最熱的知識點.一定能解決你所遇到的困難.希望你能夠採納.謝謝.

C. centos怎麼確定php-imap已安裝好

php利用IMAP接受郵件,當然這個需要環境支持IMAP才行,windows下直接修改php.ini,去掉;extension=php_imap.dll前面的分號就OK了,如果缺失這個文件就上網下一個放到對應目錄就OK了

D. 怎麼用php imap函數不重復抓取郵件

我用的是php的imap函數抓取,不是imap協議。

imap函數是可以設置pop3和imap協議的

答題不易,互相理解,您的採納是我前進的動力,感謝您。

希望回答對你有幫助,如果有疑問,請繼續追問

E. php編譯安裝後如何安裝IMAP擴展

今天程序員在最近實施的項目中需要增加IMAP驗證,今天歷史原因,公司很多伺服器的linux操作系統及各應用程序版本都不一樣,安裝路徑也很雜亂,再加上剛接手伺服器不久,導致今天在安裝IMAP的PHP擴展時,走了很多彎路;幫把今天的操作經理寫下來供大家參考學習及備忘之。

環境:
[root@bjdx246 lib]# lsb_release -a
LSB Version: :core-3.1-amd64:core-3.1-ia32:core-3.1-noarch:graphics-3.1-amd64:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: RedHatEnterpriseServer
Description: Red Hat Enterprise Linux Server release 5.4 (Tikanga)
Release: 5.4
Codename: Tikanga

[root@bjdx246 lib]# php -v
PHP 5.2.5 (cli) (built: May 29 2013 16:49:51)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies

[root@bjdx246 /]# rpm -qa |grep php
php-ldap-5.1.6-43.el5_10
php-cli-5.1.6-43.el5_10
php-common-5.1.6-43.el5_10

再使用phpinfo.php 查看PHP相關信息後,開始安裝php-imap,步驟如下:

cd /usr/local/src/php-5.2.5/ext/imap
yum -y install libc-client-*
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-kerberos --with-imap-ssl
make
make install

完成後,屏幕上會有提示/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613 目錄下多出一個 imap.so的文件;在上面編譯過程中,出現很多報錯,根據報錯一個網路找答案即可;

編輯 /usr/local/php/lib/php.ini ; 添加一行 extension=imap.so

最後 重啟 apache 服務搞定!

註:上面的路徑是本台伺服器的相關路徑,其它的伺服器需要根據您的實際情況進行更改,理解整個部署的思路即可哈!

F. PHP載入IMAP模塊問題

extension_loaded("imap");
用get_extension_funcs("imap"); 函數進行測試,若返回boolean值為空,說明php_imap.dll文件沒有載入進去,

G. php imap擴展作用是什麼

它的主要作用是郵件客戶端(例如MS Outlook Express)可以通過這種協議從郵件伺服器上獲取郵件的信息

H. php 通過IMAP收取像163這種郵箱的郵件,求完整的源代碼!謝謝大俠。

收取沒試過,我只是試過用smtp來發送郵件。

I. 如何用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);//獲取信件正文
}
/**
*
*匹配提取信件頭部信息
*@paramString$str
*/
functionmatchMailHead($str){
$headList=array();
$headArr=array(
'from',
'to',
'date',
'subject'
);
foreach($headArras$key){
if(preg_match('/'.$key.':(.*?)[ ]/is',$str,$m)){
$match=trim($m[1]);
$headList[$key]=$key=='date'?date('Y-m-dH:i:s',strtotime($match)):$match;
}
}
return$headList;
}

J. php IMAP讀取郵件信息

<?php
$mbox = imap_open("{imap.gmail.com:993/imap/ssl}INBOX", "[email protected]", "xxxx") or die("can't connect: " . imap_last_error());
$emails = imap_search($mbox,'ALL');
ini_set("max_execution_time",300);
if($emails) {
rsort($emails);
foreach($emails as $email_number) {
$overview = imap_fetch_overview($mbox,$email_number,0);
$pos = explode('@',$overview[0]->from);
$phone = substr($pos[0],-11); // 發件人手機號碼
$struct = imap_fetchstructure($mbox, $email_number);
print_r($struct);
$parts = $struct->parts;
$i = 0;
if (!$parts) { /* Simple message, only 1 piece */
$attachment = array(); /* No attachments */
$content = imap_body($mbox, $email_number);
} else { /* Complicated message, multiple parts */
$endwhile = false; $stack = array(); /* Stack while parsing message */
$content = ""; /* Content of message */
$attachment = array(); /* Attachments */ while (!$endwhile) {
if (!$parts[$i]) {
if (count($stack) > 0) {
$parts = $stack[count($stack)-1]["p"];
$i = $stack[count($stack)-1]["i"] + 1;
array_pop($stack);
} else {
$endwhile = true;
}
}
if (!$endwhile) {
/* Create message part first (example '1.2.3') */
$partstring = "";
foreach ($stack as $s) {
$partstring .= ($s["i"]+1) . ".";
}
$partstring .= ($i+1);

$file_data = imap_fetchbody($mbox, $email_number, $partstring);
$attachment[] = array("filename" =>$parts[$i]->parameters[0]->value,
"filedata" => $file_data
);
if($parts[$i]->subtype == 'JPEG')
{
$file_name = md5(time().rand(5,200)).'.jpg';
file_put_contents($file_name,base64_decode($file_data));
}elseif($parts[$i]->subtype == 'GIF'){
$file_name = md5(time().rand(5,200)).'.gif';
file_put_contents($file_name,base64_decode($file_data));
}elseif($parts[$i]->subtype == 'PLAIN'){
$txt_name = time().rand(5,200).'.txt';
file_put_contents($txt_name,base64_decode($file_data));
}
}
if ($parts[$i]->parts) {
$stack[] = array("p" => $parts, "i" => $i);
$parts = $parts[$i]->parts;
$i = 0;
} else {
$i++;
}
} /* while */
} /* complicated message */
echo "userphone $phone, result:
";
echo "Content: $content

";
echo "Attachments:"; var_mp($attachment);
echo "<br/><br/>---------------------------------------------------------------------<br/><br/>";
}
}
imap_close($mbox);
?>

熱點內容
sql語句between 發布:2025-01-11 23:45:14 瀏覽:327
王者安卓轉換蘋果系統會損失什麼 發布:2025-01-11 23:45:13 瀏覽:737
安卓手機漲價怎麼辦 發布:2025-01-11 23:27:17 瀏覽:711
三消游戲伺服器搭建 發布:2025-01-11 23:20:01 瀏覽:246
c語言的函數不可單獨進行編譯 發布:2025-01-11 23:12:33 瀏覽:17
怎麼查信用卡查詢密碼 發布:2025-01-11 23:11:08 瀏覽:572
javaexcel源碼 發布:2025-01-11 23:11:04 瀏覽:557
討論會腳本 發布:2025-01-11 23:09:27 瀏覽:574
test伺服器搭建 發布:2025-01-11 23:03:22 瀏覽:421
微信里的密碼和賬號在哪裡 發布:2025-01-11 22:46:04 瀏覽:752