📅  最后修改于: 2023-12-03 15:33:40.039000             🧑  作者: Mango
在 InfinityFree 上,一些用户尝试使用 PHPMailer 来发送邮件。然而,他们经常遇到无法发送邮件的问题。这是因为 InfinityFree 在共享服务器上限制了一些 SMTP 和邮件功能,以避免滥用和垃圾邮件。本文将介绍一些可能导致 PHPMailer 无法在 InfinityFree 上工作的原因,以及如何通过使用其他方法来解决这些问题。
InfinityFree 禁用了默认 SMTP 端口(25、465 和 587),并只允许使用特定的 SMTP 服务器。
解决方法:
使用 InfinityFree 的特定 SMTP 服务器,而不是默认的 SMTP 端口。在 PHPMailer 中,可以通过以下代码指定 SMTP 服务器:
$mail->Host = 'smtp.epizy.com';
除了 SMTP 限制之外,InfinityFree 还实施了一些反垃圾邮件策略。如果您的邮件被误认为是垃圾邮件,那么它可能不会被发送。此外,InfinityFree 可能会限制您发送的邮件数量。
解决方法:
PHPMailer 默认启用 SSL 和 TLS 支持,但 InfinityFree 不支持 SSL 或 TLS 连接,也不支持 STARTTLS 命令。
解决方法:
在 PHPMailer 中设置 SMTPSecure
属性为 ''
,以禁用 SSL 和 TLS 支持:
$mail->SMTPSecure = '';
旧版本的 PHPMailer 可能与 InfinityFree 不兼容,因为它们可能使用已被禁用的 SMTP 策略。
解决方法:
确保使用 PHPMailer 的最新版本。
在 InfinityFree 上使用 PHPMailer 可能会出现一些问题,但我们仍然可以通过遵循上述解决方法来解决这些问题。同时,我们也可以探索使用其他邮件发送方法,如利用 InfinityFree 提供的 Webmail 界面,在界面上手动发送电子邮件。