NVG*_*NVG 5 php security email smtp cloudflare
我在我的网站上使用cloudflare,我想保持我的服务器的IP(ORIGIN IP)私有,以避免DDoS攻击被直接发送到我的服务器的IP.我的服务器使用Apache,PHP,MySQL.
当使用php邮件发送电子邮件时(即使我使用phpmailer库通过外部SMTP发送电子邮件),我的服务器的IP也被添加到邮件头中.它发生在谷歌SMTP,Mailgun和其他人身上,因为他们的政策可能就是在邮件来源的IP中写入标题.
目前,我想到的唯一解决方案需要付出很多努力,即创建自己的REST API并通过其他服务器发送电子邮件,如下所示:
ORIGIN SERVER IP通过我的REST API以文本格式将电子邮件数据发送到MY MAIL SERVER IP,然后MY MAIL SERVER IP使用带有phpmailer的php邮件功能通过SMTP将电子邮件发送给用户.这样,MY MAIL SERVER的IP将出现在电子邮件标题中,而不是ORIGIN SERVER的IP中.
有没有更优雅的方式来做到这一点?是否有提供rest API的邮件服务,如果我使用他们的API,他们将不会在电子邮件标题中显示我的服务器的IP?或者可能有一个已经开发的REST API /库用于按照我的要求远程发送电子邮件,所以我不必从头开始开发和测试我自己的?
您应该通过他们的API而不是SMTP协议通过mailgun(或sendgrid,或jetmail,或SES,或......)发送电子邮件,您的IP将不会被披露.
例如,对于Mailgun SDK:https://github.com/mailgun/mailgun-php
$mg = Mailgun::create('key-example');
# Now, compose and send your message.
# $mg->messages()->send($domain, $params);
$mg->messages()->send('example.com', [
'from' => 'bob@example.com',
'to' => 'sally@example.com',
'subject' => 'The PHP SDK is awesome!',
'text' => 'It is so simple to send a message.'
]);
Run Code Online (Sandbox Code Playgroud)
但是大多数提供商都有SDK:
此外,我建议使用SwiftMailer这是一个功能强大的库来处理电子邮件.其中一个很酷的事情是它抽象了传输,你可以使用包从SMTP或任何提供者API切换.
| 归档时间: |
|
| 查看次数: |
1071 次 |
| 最近记录: |