跳到主要内容

推荐的 phpList 邮件发送设置

什么是 phpList?

phpList 是一款开源的电子邮件营销软件,帮助用户轻松管理邮件列表并向订阅者分发新闻通讯、新闻和广告。通过配置 phpList 设置,用户可以根据自身需求定制软件。phpList 使用 PHP 编写,基于 MySQL 数据库,提供灵活且强大的功能来管理电子邮件活动。

本文讨论的主题包括:

  • 推荐的 phpList 设置
  • 优化 phpList 性能
  • 邮件送达最佳实践
  • 总结

推荐的 phpList 设置

如果 phpList 无法发送所有邮件,可能会出现错误:“无法实例化邮件功能”。为了解决此问题并优化 phpList 设置,请按照以下步骤确保 phpList 配置正确。

  1. 找到 config.php 文件。通过文件管理器或 FTP 客户端访问 phpList 配置文件。如果您是通过 Marketplace 默认安装 phpList,文件完整路径为 /home#/ <用户名>/public_html/list/config/config.php
  2. 请先对该文件进行备份。
  3. 找到 Miscellaneous(杂项)部分。在该部分下,您会看到如下代码:
# define the amount of emails you want to send per period. If 0, batch processing
# is disabled
# [% provinfo.name %] suggest a default of 150 per hour.
define("MAILQUEUE_BATCH_SIZE",0);

# define the length of one batch processing period, in seconds (3600 is an hour)
define("MAILQUEUE_BATCH_PERIOD",3600);

将 phpList 设置更新为以下建议值:

# define the amount of emails you want to send per period. If 0, batch processing
# is disabled
# [% provinfo.name %] suggest a default of 150 per hour.
define("MAILQUEUE_BATCH_SIZE",150);

# define the length of one batch processing period, in seconds (3600 is an hour)
define("MAILQUEUE_BATCH_PERIOD",3600);

:以上代码注释中的 “suggest” 一词在原文中存在单复数不一致的情况,翻译中保持与原文一致。

上述设置将配置 phpList 每小时发送 150 封邮件,从而优化邮件发送流程。

  1. 接下来,进入 Experimental(实验性)部分,找到以下代码:
# Mailqueue autothrottle. This will try to automatically change the delay
# between messages to make sure that the MAILQUEUE_BATCH_SIZE (above) is spread evently over
# MAILQUEUE_BATCH_PERIOD, instead of firing the Batch in the first few minutes of the period
# and then waiting for the next period. This only works with mailqueue_throttle off
# it still needs tweaking, so send your feedback to mantis.tincan.co.uk if you find
# any issues with it
define('MAILQUEUE_AUTOTHROTTLE',0);

:代码注释中的 “evently” 为原文拼写错误,翻译中保持原文一致以确保准确。

  1. MAILQUEUE_AUTOTHROTTLE(原文中有拼写错误“MAILQUE_AUTOTHROTTLE”,此处已更正)改为 1 以启用自动节流:
# Mailqueue autothrottle. This will try to automatically change the delay
# between messages to make sure that the MAILQUEUE_BATCH_SIZE (above) is spread evently over
# MAILQUEUE_BATCH_PERIOD, instead of firing the Batch in the first few minutes of the period
# and then waiting for the next period. This only works with mailqueue_throttle off
# it still needs tweaking, so send your feedback to mantis.tincan.co.uk if you find
# any issues with it
define('MAILQUEUE_AUTOTHROTTLE',1);

启用 MAILQUEUE_AUTOTHROTTLE 可以改善邮件分发,确保在整个批处理周期内实现高效且均衡的发送过程。


优化 phpList 性能

优化 phpList 性能对于确保您的电子邮件营销活动快速、高效且可扩展至关重要。以下是一些优化 phpList 性能的示例和最佳实践。

优化数据库性能

  • 定期清理 phpList 数据库:定期删除未确认的订阅、退订用户和退信。
  • 优化 MySQL 数据库:确保 MySQL 数据库表正确建立索引。
  • 数据库缓存:为频繁访问的数据实现缓存机制,如 Redis 或 Memcached。

提高邮件发送性能

  • 优化发送速度:控制邮件发送速度,避免触及服务提供商限制。
  • 批量发送:将邮件分成较小批次(500-1000 封)发送,减轻服务器负载。
  • 使用定时任务(cron jobs):通过定时任务自动化发送活动,实现高效派发。

优化 phpList 配置

  • 增加 PHP 限制:若运行大型活动,确保服务器有足够的 PHP 配置。调整 php.ini 文件,增加 max_execution_timememory_limitpost_max_size
  • 禁用未使用功能:关闭不使用的功能以提升处理速度。
  • 启用压缩:使用 GZIP 压缩加快邮件传递速度。

管理订阅者列表

  • 定期清理订阅者列表:移除不活跃或退订用户,保持列表健康。利用 phpList 的退信处理功能,删除无效地址。
  • 细分订阅者列表:根据人口统计、行为、偏好等将订阅者分类,发送更有针对性的邮件,减轻服务器负载。
  • 高效使用自定义字段:限制自定义字段,仅保留活动所需。

提升邮件送达率

  • 设置 SPF/DKIM/DMARC 记录:配置这些 DNS 记录以提升邮件送达率,帮助邮件绕过垃圾邮件过滤器,加快投递速度并减少拒收概率。
  • 监控黑名单:检查发送 IP 是否被列入黑名单,避免投递问题。如果 IP 被列入黑名单,邮件发送和投递将严重延迟。

请查看下文的邮件送达最佳实践部分,了解更多内容。

确保定期更新和安全

  • 更新 phpList:使用最新稳定版本以获得更好的性能、漏洞修复和安全性。
  • 插件优化:仅安装必要插件。未优化或冲突的插件可能导致系统变慢。

邮件送达最佳实践

以下是一些进一步提升邮件送达率的最佳实践建议。

  • 检查 SPF 记录:SPF(发件人策略框架)是一个 DNS 记录,告诉收件方邮件服务器哪些服务器可以代表您的域发送邮件。许多垃圾邮件过滤器会使用 SPF 记录判断邮件是否为垃圾邮件或应被忽略。
  • 谨慎使用链接:链接可能增加被垃圾邮件过滤器标记的风险,尤其是缩短链接,垃圾邮件发送者常用来隐藏域名或关键词以规避过滤。
  • 使用简洁签名:保持邮件签名简单。复杂的 HTML 或额外标签可能被垃圾邮件过滤器标记。如果使用图片,确保关键信息(如联系方式)以文本形式存在。请注意,部分邮件客户端(如 Gmail)默认不显示图片。
  • 限制邮件附件:控制附件大小和数量。许多邮件和网络通讯在移动设备上进行,带宽有限。发出邮件最大可达 35MB,但许多主机限制接收邮件最大为 25MB 或更小。对于大文件,建议上传至您的主机账户并通过邮件发送链接,而非直接附件。
  • 限制 HTML 大小:优化邮件中的 HTML 内容,减少内联 CSS,缩小大图像,必要时使用外部样式表。
  • 谨慎使用转发功能:转发邮件通常比普通邮件更受审查。最好在 Bluehost 地址间转发。转发到外部地址可能损害您的域名声誉,因为转发地址可能被标记为垃圾邮件源。对于 Gmail,建议使用 Gmail POP3;对于其他服务商,建议使用邮件客户端或网页版邮箱。

如果您遇到邮件送达问题,请查看我们的支持指南《邮件送达问题排查》。


总结

phpList 是一款管理邮件列表并向订阅者分发新闻、通讯和广告的工具。优化 phpList 设置对于成功的电子邮件营销活动至关重要。关键配置包括调整 MAILQUEUE_BATCH_SIZE 和启用 MAILQUEUE_AUTOTHROTTLE 以实现均衡投递。定期维护数据库并实施邮件送达最佳实践,进一步提升 phpList 设置的有效性,确保邮件分发高效且可靠。