📜  phpmailer 在 infinityfree 上不起作用 - PHP (1)

📅  最后修改于: 2023-12-03 15:33:40.039000             🧑  作者: Mango

PHPMailer 在 InfinityFree 上不起作用 - PHP

简介

在 InfinityFree 上,一些用户尝试使用 PHPMailer 来发送邮件。然而,他们经常遇到无法发送邮件的问题。这是因为 InfinityFree 在共享服务器上限制了一些 SMTP 和邮件功能,以避免滥用和垃圾邮件。本文将介绍一些可能导致 PHPMailer 无法在 InfinityFree 上工作的原因,以及如何通过使用其他方法来解决这些问题。

PHPMailer 无法在 InfinityFree 上工作的原因
1. 禁用的 SMTP

InfinityFree 禁用了默认 SMTP 端口(25、465 和 587),并只允许使用特定的 SMTP 服务器。

解决方法:

使用 InfinityFree 的特定 SMTP 服务器,而不是默认的 SMTP 端口。在 PHPMailer 中,可以通过以下代码指定 SMTP 服务器:

$mail->Host = 'smtp.epizy.com';
2. SPAM 策略

除了 SMTP 限制之外,InfinityFree 还实施了一些反垃圾邮件策略。如果您的邮件被误认为是垃圾邮件,那么它可能不会被发送。此外,InfinityFree 可能会限制您发送的邮件数量。

解决方法:

  1. 尝试降低邮件发送频率,以避免被识别为垃圾邮件。
  2. 检查您的邮件内容,并确保它们不会被误认为是垃圾邮件。避免包含垃圾邮件常见的用语和短语,并避免使用大量链接。
  3. 如果您需要发送大量邮件,请考虑使用付费的邮件服务或 VPS。
3. SSL 和 TLS 支持

PHPMailer 默认启用 SSL 和 TLS 支持,但 InfinityFree 不支持 SSL 或 TLS 连接,也不支持 STARTTLS 命令。

解决方法:

在 PHPMailer 中设置 SMTPSecure 属性为 '',以禁用 SSL 和 TLS 支持:

$mail->SMTPSecure = '';
4. PHPMailer 版本

旧版本的 PHPMailer 可能与 InfinityFree 不兼容,因为它们可能使用已被禁用的 SMTP 策略。

解决方法:

确保使用 PHPMailer 的最新版本。

结论

在 InfinityFree 上使用 PHPMailer 可能会出现一些问题,但我们仍然可以通过遵循上述解决方法来解决这些问题。同时,我们也可以探索使用其他邮件发送方法,如利用 InfinityFree 提供的 Webmail 界面,在界面上手动发送电子邮件。