ASP.NET MVC3 C#如何像PHP一样发送电子邮件

3
我有一个关于从MVC3应用程序发送电子邮件的问题。我已经阅读了一些关于ActionMailer.Net的内容,也看到许多来自其他人的论坛和帮助器。无论在Web.config中还是在适当的方法/函数中,我都看到SMTP服务器及其设置。是否可能在没有SMTP设置的情况下发送电子邮件?我正在构建的应用程序将被多个用户使用,我不想让他们需要设置SMTP...
我需要发送类似“您的密码为xxxx,请转到www.mysite.com,谢谢。”等电子邮件。我不需要在任何邮箱中(作为历史记录)拥有它,也不想回复它。
是否有可能像PHP一样使用mail(...)函数,在没有设置SMTP服务器的情况下,可以发送从->到任何我想要的内容?
所以我对某些事情理解错误吗?请帮我弄清楚。非常感谢。

如果你的意思是“我能像在PHP中那样发送电子邮件而不需要SMTP服务器吗?”那么答案是否定的。即使在PHP中,你也无法摆脱SMTP服务器,只是可能已经为你预配置了。 - Quentin
3个回答

4
您需要拥有一个SMTP服务器,否则您将无法通过SMTP发送电子邮件。PHP也是如此。
是否需要设置取决于您的托管服务。大多数服务器都会在更高级别的配置文件中设置SMTP相关内容,因此通常您可以将设置保留为默认设置,ASP.Net仍然能够使用SMTP发送邮件,而不需要特定的设置。
但是,您的主机也可能要求您使用特定的SMTP设置。这是您需要与将托管您网站的人员进行核实的事项。
如果您需要示例代码以使用最少的代码发送电子邮件,则像这样的代码应该可以工作,前提是您的主机不想让您指定设置:
var message = new MailMessage(FROM ADDRESS HERE, TO ADDRESS HERE)
        {
            Subject = "Please confirm your email",
            Body = "PUT SOME BODY COPY HERE"

        };

        var client = new SmtpClient();

        client.Send(message);

1
“是否可能在没有SMTP设置的情况下发送电子邮件?”
当然不可能。没有SMTP服务器,您无法发送电子邮件。这根本就没有意义。

所以,你了解我的情况,知道我需要做什么。请有经验的人给我提出最好的解决方案。或者当用户将我的应用程序迁移到不同的网络托管服务商时,是否需要让他们设置SMTP配置? - Mirgen

1

通过您的代码直接发送邮件而无需SMTP服务器是可能的,我以前已经这样做过,但是后来几个月后,邮件保护类似的东西开始阻止我的IP地址。

请阅读此博客。;)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接