###前提・実現したいこと
表題の通りですが、PHP5.5でoffice365のoutlookのアカウント宛に来たメールをIMAPで受信するコードを書きたいのですが、受信の際、要件上tls1.2で接続詞て受信する必要があり、993ポートを指定したら接続出来ませんでした。
どうしたら良いのか、方法等教えて頂ければと思います。
分かっていない点として
- TLS1.2でIMAPに接続するのにポート993を指定する必要があるのかどうか
- TLS1.2でIMAPに接続するのに設定が必要なのかどうか
- TLS1.2でIMAPに接続するためにはPHP5.5では無理だったりするのかどうか
- TLS1.2でIMAPに接続するのに動かす環境上でOpenSSL等必要なライブラリ及びバージョンがあるのかどうか
もあるのですが、このあたりはどう調べたら良いのかも分かりません。
ご存知でしたら教えて頂けるとありがたいです。
###発生している問題・エラーメッセージ
以下のエラーが発生してIMAP接続に失敗します。
IMAP connection broken
###該当のソースコード
php
1<?php 2$mbox = null; 3try{ 4 $account = "<アカウント(メールアドレス)>"; 5 $pass = "パスワード"; 6 $server = "{outlook.office365.com:993/imap/tls/debug}INBOX"; 7 $mbox = imap_open($server,$account,$pass,OP_DEBUG); 8 echo 'mbox info'.PHP_EOL; 9 var_dump($mbox); 10 if(gettype($mbox) != 'resource'){ 11 var_dump(imap_errors()); 12 throw new Exception('imap connect error...'); 13 } 14 echo 'mbox list'.PHP_EOL; 15 $box_list = imap_list($mbox,'{outlook.office365.com}','*'); 16 var_dump($box_list); 17}catch(Exception $e){ 18 echo 'Error!'.PHP_EOL; 19 print_r($e->getMessage()); 20}finally{ 21 imap_close($mbox); 22} 23?>
###試したこと
ポートを143にすると受信できます。
ただ、thunderbirdなどメールクライアントで設定する場合、993ポートになるのでtls1.2で受信する場合は993をポートに指定しないといけないのではと思っています。
動作環境
開発用はUbuntu 16.04 Desktop
本番用はWindows Server 2012 R2
PHPは5.5.16
Webサーバーは
開発用はNginx1.11.1
本番用はIIS8.5
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/22 08:10