如果您的托管服务提供商不允许SMTP中继,如何发送电子邮件?

时间:2012-10-30 16:24:37

标签: codeigniter email smtp sendgrid amazon-ses

我有一个使用CodeIgniter构建的应用程序,并使用共享托管服务提供商托管。

我的MX记录指向Gmail服务器,我的应用可以使用Gmail使用标准的CodeIgniter电子邮件方式发送电子邮件。

现在我想使用SendGrid或Amazon SES发送一些交易邮件。但这不起作用,显然原因是我的托管服务提供商不允许SMTP中继。

我正在考虑使用SendGrid API和cURL,但我不确定他们将如何使用我熟悉的CI方法。

最好我不想更改指向处理我们公司常规邮件的Gmail的MX记录。

鉴于这些限制,使用SendGrid或Amazon SES发送电子邮件是否可以做任何事情?

2 个答案:

答案 0 :(得分:4)

您可以将备用端口与SendGrid一起使用:

  

许多托管服务提供商和ISP阻止端口25作为默认做法。尝试连接到smtp.sendgrid.net时,请记住端口25,2525,587和465都可以使用。您可以通过端口25,2525和587上的未加密或TLS进行连接。您可以通过端口465上的SSL进行连接。

- http://docs.sendgrid.com/documentation/get-started/smtp-ports/

答案 1 :(得分:2)

您应该使用SendGrid网络API发送电子邮件。如果您是ISP阻止电子邮件,那么最好的办法是切换到HTTP。这是一个非常简单的开关,因为它采用了所有相同的参数。查看文档以获取更多信息:

  

http://docs.sendgrid.com/documentation/api/web-api/mail/#send

我怀疑它可以与CI电子邮件库一起使用,但没有理由你不能只使用SendGrid库:

  

https://github.com/sendgrid/sendgrid-php


此外,此CodeIgniter library通过HTTP发送SendGrid电子邮件。可能值得一试。