繁体   English   中英

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

[英]How to send email from a specific ip address?

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

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

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

谢谢

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

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

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

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

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

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

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

发送邮件。

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

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

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/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM