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

问题描述 投票:3回答:5

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

有没有办法做到这一点?我真的很感激一些明确的想法,因为我不喜欢exim和stuffs。

附:我已经在WHM中拥有可用的IP。

谢谢

php email smtp cpanel exim
5个回答
5
投票

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

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


1
投票

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


1
投票

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

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

设置cron在每个盒子上运行一个带有这些LIP的php脚本。

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

发送邮件。


0
投票

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

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


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/

© www.soinside.com 2019 - 2024. All rights reserved.