在嘗試使用我的office 365 E5開發者賬號使用phpmailer進行發件時,被535 5.7.3 authentication unsuccessful這個錯誤困擾了很久,在國內外網站找了非常多的資料,可用的很少。這個錯誤很容易被理解為用戶名密碼錯誤,但是若十分確定用戶名密碼准確無誤,極可能是微軟默認開啟的多重驗證機制的原因!我們要做的就是把這個多重驗證機制手動關掉。
親測可用的方法:關閉安全默認值
用管理員身份登錄Azure屬性,點擊最下面的"管理安全默認值",右邊彈出"啟用安全默認值",默認應為是,請改成否:!
問題解決.重試發件看看!
我沒有嘗試過的方法:保留多重驗證,創建應用密碼
這是來自Stack Overflow上一個熱心老哥新提出來的方法.如果你需要在保留多重驗證的同時允許其他應用如phpmailer訪問smtp,可以嘗試這種方法.
我對照微軟給出的文檔進行操作,發現在
登錄到 "其他安全驗證" 頁,然后選擇 "應用密碼"。
這一步就遇到了問題,我並沒有看到這個"應用密碼"的選項.如果讀者老哥知道這種方法怎么處理,歡迎在評論區指出.
附:phpmailer 進行 outLook的smtp發件的參考代碼
這部分的代碼我親測可用,請移步我的博客查看~
本文摘自我的博客