php收邮件和发邮件
使用了两个类库:
在安装时 使用了原来的一个项目安装 结果 composer 死活提示ssl错误,处理很久没解决。。kitecms这个项目问题
结果换一个项目使用composer正常了。 严重怀疑是这个kitecms项目的composer有问题 版本不对之类的。
遇到的问题:
- 会在同目录下生成bin文件,未解决
- 谷歌gmail访问超时
- 163邮箱收发邮件会被拒 原因是163要推广自己的邮箱大师故意的。
需要注意的一些情况:
- outlook/hotmail 使用unseen获得邮件后会自动设置状态为seen
- qq邮箱在收到邮件后 使用imap不会马上获取到邮件需要等待一段时间约30秒
- 163、qq需要单独开启imap、pop、smtp,得到新密码
- outlook/hotmail需要单独开启,但是不需要新密码,但是在收邮件会提示错误,经过google解决了解决代码在下面。
outlook、hotmail邮件服务器地址:
pop
服务器名称: outlook.office365.com
端口: 995
加密方法: TLS
imap
服务器名称: outlook.office365.com
端口: 993
加密方法: TLS
smtp
服务器名称: smtp.office365.com
端口: 587
加密方法: STARTTLS
'serve_url' = '{outlook.office365.com:993/imap/ssl}INBOX';
$mailbox = new Mailbox(
$v['serve_url'],
$v['username'],
$v['password'],
__DIR__,
'UTF-8'
);
try {
try {
retry:
$mailsIds = $mailbox->searchMailbox('UNSEEN',true);
} catch (\Exception $e) {
if (strpos($e, " [BADCHARSET (US-ASCII)]")) {
$oldEncoding = $mailbox->getServerEncoding();
$mailbox->setServerEncoding('US-ASCII');
$newEncoding = $mailbox->getServerEncoding();
goto retry;
} else {
throw $e;
}
}
} catch(\Exception $ex) {
continue;
}
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 anaf@163.com