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
目录