2011-04-15 255 views
2

客户的网站地址是customerswebpage.com(当然不是真正的)。服务器本身的主机名配置为server.customerswebpage.com,它没有A或MX类型的DNS记录。这会导致许多Web服务器拒绝来自该服务器的邮件。发送电子邮件时更改HELO主机名

是否有一个简单和/或整洁的方式来改变服务器标识自己的HELO地址?该网站建立在Symfony框架版本1.0上,我们使用sfMail插件发送邮件。目前我唯一能想到的解决方案是获取整个插件的副本并对其进行修改以适应我们的需求,因为主机名仅在内部使用。

也许更重要的是,你认为我们可以说这是DNS配置错误吗?

回答

2

我认为HELO需要在服务器的MTA中进行更改,而不是在php中。

http://www.sendmail.org/m4/whoami.html

你或许应该只是添加缺少的A和MX DNS记录server.customerswebpage.com并不会改变HELO。

+0

感谢您的答案,这是我们最终做的。在为域添加A记录后,邮件开始通过甚至是最挑剔的服务器。 – Kaivosukeltaja 2011-05-01 15:34:41

1

邮件服务器可能真的很挑剔,并且绝不允许为服务器添加合适的APTR记录可以解决所有问题。对外发邮件使用外部smarthost(例如通过您的ISP或专用服务)通常是最简单的,并让他们担心发送。

sfMail包基于PHPMailer的,并且该包存储在$helo的HELO主机名。也许你可以重载sfMail phpMailer类并设置该变量?

+0

感谢您的回答!覆盖phpMailer也需要覆盖所有其他sfMail类,因为工厂使用的类似乎是硬编码的,并且使用的类是用switch-case块选择的。使用智能主机会很聪明(没有双关语意思),但设置一个会比这个项目的预算有点多。 – Kaivosukeltaja 2011-04-19 15:36:06

0

避免此问题的一种方法是使用sfMail和SMTP。所以你可以发送你的电子邮件与你的真正的邮件服务器,所以SPF和MX记录是正确的。

+0

不幸的是,服务器似乎是我们唯一的选择,即使客户使用它来进行群发邮件。这似乎也失败了... – Kaivosukeltaja 2011-04-20 05:11:49