PHPからGmailのメールを取得してゴニョゴニョする

PHPからGmailのメールを取得してゴニョゴニョする

ぐぐって調べた情報だとどうにもうまくいかず、試行錯誤したのでメモメモ

環境

imapを使うので、Gmailの設定でimapをONにする
PHP側もphp_imapが必要になるので入ってるか確認、入ってなければインストールします

接続確認をする

エラーが返ってくる場合

こんなエラーメッセージが返ってきます
Cannot connect to Gmail: Can’t open mailbox {imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX: invalid remote specification

この時は、メールボックスに、「Google アカウント: ログイン試行をブロックしました」というメールが来るので、メール本文にあるリンクから、安全性の低いアプリのアクセスを許可してあげます

さらに https://accounts.google.com/b/0/DisplayUnlockCaptcha へアクセスし許可するとPHPからアクセスできるようになる

未読のメールのみ取得する

UNSEENの部分を変えればいろいろな条件で絞り込める
PHP: imap_search – Manual

タイトル、本文を取得する

gmailの場合は本文はBASE64エンコードされているようなので、デコードしてあげないといけない

参考サイト
imap関数を使ってGmailのメールを取得する – ONILOQ NOTE

コメントを残す