2011-02-16 129 views
1

我有一个自定义的c#应用程序。有没有一种方法可以发送电子邮件没有smtp服务器。即有一个库将模拟smtp功能并发送电子邮件到外部电子邮件。如何添加smtp发送功能到我的应用程序

+2

你会接受回报的一些答案? – rene 2011-02-16 19:01:00

+0

请阅读电子邮件通信的工作原理!如果你明白这一点,你就可以回答你的问题。 – Nauman 2011-02-16 19:09:13

回答

1

你可以使用亚马逊的简单电子邮件服务(http://aws.amazon.com/ses/)。它为您提供和API发送电子邮件(小批量或批量)。

的服务不是免费的,但它是非常便宜(每1000封电子邮件$ 0.10)。在大多数亚马逊云服务中都有一个免费的层级,但只有当您从EC2实例发送电子邮件时(这很可能不是您的情况......)才适用。

此外,它提供了对产能统计和一些保证你不会被标记为垃圾邮件(除非这就是你在做什么:)

3

虽然你可以编写自己的SMTP协议的实现,让你实际上充当自己的SMTP服务器(它甚至不是困难的事),你仍然有其他SMTP服务器(即收件人的服务器)的接口。在过去的10年左右,很多服务器已经越来越不信任他们会与谁交谈。许多人会做反向DNS查找,以查看您发送的IP地址是否与您的域名的MX记录中列出的IP地址相同。如果它们不匹配,服务器将拒绝接受来自您的邮件。

此外,许多ISP都阻塞端口25(SMTP使用),让你不能从他们的网络发送电子邮件,除了通过自己的SMTP服务器会。这可以防止客户使用家庭高速连接发送垃圾邮件。 (至少,它使事情变得更加困难。)

所以,回答你的问题在技术上是肯定的:你可以编写代码,就像一个SMTP客户端发送邮件。但在实际应用中,由于ISP和接收ISP的SMTP服务器的限制,这变得更加困难。

如果您有兴趣编写代码SMTP,你可能会发现以下启发: