phpmailer发送邮件 SMTP Error: Could not authenticate 错误
今天在使用phpmailer发送邮件时居然提示SMTP Error: Could not authenticate,这个感觉是smtp设置的问题,下面我在网上找到了几种解决办法。
今天在使用phpmailer发送smtp邮件时提示 SMTP Error: Could not authenticate 错误,其中密码帐号都是正确的,邮箱也设置开启了SMTP功能。
上谷歌百度了一遍,有的说是服务器禁用了端口,有的说把class.phpmailer.php中的,代码如下:
function IsSMTP() { $this->Mailer = 'smtp'; }//改为 function IsSMTP() { $this->Mailer = 'SMTP'; }
测试以后还是不行,心中郁闷的一米,最后在一篇博客中找到了解决方法,先分享出来让更多遇到同样问题的人能得到帮助!
这个错误说明虚拟主机不支持PHPMailer默认调用的fsockopen函数,找到class.smtp.php文件,搜索fsockopen,就找到了这样一段代码:
// connect to the smtp server $this->smtp_conn = @fsockopen($host,// the host of the server $port,// the port to use $errno, // error number if any $errstr, // error message if any $tval); // give up after ? secs
方法1:将fsockopen函数替换成pfsockopen函数,首先,在php.ini中去掉下面的两个分号
;extension=php_sockets.dll
;extension=php_openssl.dll
然后重启一下,因为pfsockopen的参数与fsockopen基本一致,所以只需要将@fsockopen替换成@pfsockopen就可以了。
方法2:使用stream_socket_client函数
一般fsockopen()被禁,pfsockopen也有可能被禁,所以这里介绍另一个函数stream_socket_client(),stream_socket_client的参数与fsockopen有所不同,所以代码要修改为如下:
$this->smtp_conn = stream_socket_client("tcp://".$host.":".$port, $errno, $errstr, $tval);
这样就可以了,如果上面办法还是没有解决可能是邮箱自动过滤你机器自动登录邮箱发邮件了哦,我是使用下面办法解决的,刚开始使用的qq的帐号,提示上面错误。换成新注册的163帐号可以正常发送。之后换了一个qq等级比较高的帐号,这下可以正常发送,没有报任何错误。因为收件人用的是qq邮箱帐号,所以发件帐号用qq的邮箱比较好,这样发送过多不会轻易的被拦截或判为垃圾邮件。所以结论就是配置中使用一个qq等级比较高的帐号(我的一个小号等级2个月亮可以正常使用,当然等级越高越好,)
结论:也要查看邮箱中"设置邮件地址黑名单"及"收信规则",有时系统会自动将一些邮箱自动加入黑名单的

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

在Web應用程式中,往往需要將郵件一次發送給多個收件者。 PHP是一種很流行的Web開發語言,而PHPMailer是一種常見的發送郵件的PHP類別庫。 PHPMailer提供了豐富的接口,使得在PHP應用程式中發送郵件變得更加方便和易於使用。在本篇文章中,我們將介紹如何使用PHPMailer向多個收件者傳送郵件的方法和步驟。下載PHPMailer首先需要在官網(

PHP開發實務:使用PHPMailer發送郵件到MySQL資料庫中的使用者引言:在現代互聯網建設中,郵件是一種重要的溝通工具。無論是用戶註冊、密碼重置,還是電子商務中的訂單確認,發送電子郵件都是必不可少的功能。本文將介紹如何使用PHPMailer來傳送電子郵件,並將郵件資訊儲存到MySQL資料庫中的使用者資訊表中。一、安裝PHPMailer庫PHPMailer是

如何使用PHP和PHPMAILER發送帶有內嵌圖片的HTML郵件? HTML郵件是一種更豐富和個人化的郵件形式,可以在郵件中插入圖片、連結和樣式。而內嵌圖片是指在HTML郵件中直接將圖片作為郵件的一部分發送,而不是透過附件方式發送。在PHP中,我們可以藉助PHPMAILER來傳送帶有內嵌圖片的HTML郵件。 PHPMAILER是一個功能強大的PHP郵件發送類別庫

如何使用Flask-Mail發送電子郵件隨著互聯網的發展,電子郵件已經成為了人們溝通的重要工具。在開發網路應用程式中,有時候我們需要在特定的場景下發送電子郵件,例如用戶註冊成功後發送歡迎郵件,或是用戶忘記密碼時發送重設密碼郵件等。 Flask是一款簡單又靈活的PythonWeb框架,而Flask-Mail是Flask框架下用於發送郵件的擴充庫,本文將介紹如何

PHP和PHPMAILER:如何實現郵件發送的防垃圾郵件功能?引言:在網路時代,電子郵件已經成為了我們日常生活和工作中不可或缺的一部分。然而,隨著電子郵件的普及和使用,垃圾郵件問題日益嚴重,這給用戶帶來了許多困擾。為了解決這個問題,本文將介紹如何利用PHP和PHPMailer庫實現郵件發送的防垃圾郵件功能。一、了解垃圾郵件垃圾郵件(Spam),指的是那些未經

掌握PHP和PHPMAILER:如何實現郵件發送的自動回覆功能?在現代社會中,電子郵件成為了人們日常溝通的重要方式之一。許多網站或企業都需要透過郵件與使用者溝通和交流,而自動回覆郵件變得非常重要。本文將介紹如何使用PHP和PHPMailer庫實現郵件傳送的自動回覆功能。第一步:取得使用者的郵件資訊首先,我們需要取得使用者的郵件資訊。在網站或應用程式中,用

PHP使用PHPMailer函式庫傳送附件郵件的方法和注意事項郵件在現代生活中已經成為了非常重要的一種通訊方式。在許多開發專案中,我們需要使用程式碼自動傳送郵件,這時候PHPMailer函式庫就是我們的不二之選。 PHPMailer是一個專門用來PHP發送郵件的函式庫。它可以方便地發送郵件,包括HTML格式的郵件和附件。本文將著重介紹PHPMailer庫中如何傳送附附件的郵

PHP是一種強大的程式語言,廣泛應用於Web開發領域中,其中SMTP郵件功能也是PHP開發中的重要一環。但是,在某些情況下,您可能想要禁止SMTP郵件功能,本文將介紹如何實作。
