メールの受信(Zend_Mail)

Zend/Mail/Storage/Pop3クラスを使って、メールを受信してみた。

受信自体は、意外と簡単に受信できたが、fromアドレスを取るのに一工夫必要。


メーラーで、メールアドレスに名前を設定されている場合、

その名前とメールアドレスの両方が、”from”情報に設定されているため、

メールアドレスだけを抜き出す必要があります。


調べてみたところ、Pearのモジュールでありました。

Mail_RFC822::parseAddressList()

という関数です。


使い方は、以下です。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
require_once('Zend/Mail/Storage/Pop3.php');
require_once('Mail/RFC822.php'); 
 
$config = array('host'      => 'メールホスト名',
       'user'      => 'ユーザ名',
        'password'  => 'パスワード');
 
$mail = new Zend_Mail_Storage_Pop3($config);
 
foreach ($mail as $num => $message){
  $tmp = Mail_RFC822::parseAddressList($message->from);
  $mail_address = $tmp[0]->mailbox . '@' . $tmp[0]->host;
  var_dump($mail_address);
}



私が使っているサーバ heteml なら、pearにパスが通してあるので、

ZendFrameworkさえ、自分で設置すれば、pearは requireするだけで使えました。


今日まで、初期費用無料キャンペーンをやってるので、

正月休みに、いろいろ実験してみようって方は、申し込んでみてはいかかでしょう。






コメント 停止中

%d人のブロガーが「いいね」をつけました。