我正在使用cPanel / CentOS运行vps,我想动态选择IP地址从php代码中直接发送电子邮件。 (我对任何习惯的方式持开放态度)
有没有办法做到这一点?我真的很感激一些明确的想法,因为我对exim和东西并不擅长。
P.S。我已经在WHM中拥有可用的IP。
谢谢
答案 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/