如何从特定的IP地址发送电子邮件?

时间:2010-11-28 21:16:48

标签: php email smtp cpanel exim

我正在使用cPanel / CentOS运行vps,我想动态选择IP地址从php代码中直接发送电子邮件。 (我对任何习惯的方式持开放态度)

有没有办法做到这一点?我真的很感激一些明确的想法,因为我对exim和东西并不擅长。

P.S。我已经在WHM中拥有可用的IP。

谢谢

5 个答案:

答案 0 :(得分:5)

您可以通过使用sendmail和传递参数来定义要使用的配置文件来实现此目的。在配置文件中,您可以使用Masquerading And Relaying选项和CLIENT_OPTIONS(`Addr = aaa.bbb.ccc.ddd')通过某个IP发送。

使用PHP mail时,使用additional_parameters指定要使用的sendmail配置文件,并在该配置文件中使用上述选项进行配置。

答案 1 :(得分:1)

PHP无法控制发送邮件的SMTP服务器。您可以将SMTP服务器(sendmail,postfix,exim等)绑定到特定接口,但这与PHP无关。 PHP参与电子邮件发送过程纯粹是为了生成邮件,然后将其交给SMTP服务器进行实际交付。

答案 2 :(得分:1)

这是一个想法。如果您需要的是从您可以控制的特定IP发送邮件,但是该邮件的推动力不是来自该IP,而是来自某些Web界面或其他任何内容,您可以:

将邮件详细信息添加到DB上的表中,并将所需的IP地址作为字段。

设置crons在每个包含这些IP的盒子上运行php脚本。

使用该脚本解析表格以查找需要来自该IP的任何邮件。

发送邮件。

答案 3 :(得分:0)

我在虚拟主机上有一个经销商帐户,例如我的所有域名都在相同的IP号码下,然后我用来发送电子邮件的域名,它将在相同的IP号码下发送,我认为由smtp especification控制,你可以配置你的smtp与另一台服务器发送电子邮件,当然你有一个帐户。

还要创建一个表格来控制您要用来发送电子邮件的服务器。

答案 4 :(得分:0)

ClientPortOptions和DaemonPortOptions是多个特殊情况 客户端/守护进程可以定义。这可以通过

完成
CLIENT_OPTIONS(`field1=value1,field2=value2,...')
DAEMON_OPTIONS(`field1=value1,field2=value2,...')

请注意多个CLIENT_OPTIONS()命令(因此多个 允许ClientPortOptions设置)以便为每个设置提供设置 协议族(例如,一个用于Family = inet,一个用于Family = inet6)。一个 对一个系列的限制只影响其上的传出连接 特别的家庭。

来源:http://www.sendmail.com/sm/open_source/docs/configuration_readme/