如何使用asp.net在没有用户密码的情况下向hotmail发送消息?

时间:2016-09-06 17:30:25

标签: c# asp.net smtp

我有一个网页,在联系我们标签中我有一个表单用户只能输入他们的姓名,电子邮件ID,主题和消息。一旦他们点击确定按钮,我想将这些消息发送到我的hotmail帐户。

我尝试了一些代码。但它没有用。

SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.Port = 587;
smtp.Credentials = new System.Net.NetworkCredential(txtUserEmail.text, txtPassword);
smtp.EnableSsl = true;

MailMessage msg = new MailMessage();
msg.Subject = "Demo";
msg.Body = "Hi there..";

string toAddress = "xxx@hotmail.com"; // Add Recepient address
msg.To.Add(toAddress);

string fromAddress = "\"no reply \" <from@gmail.com>";
msg.From = new MailAddress(fromAddress);
msg.IsBodyHtml = true;

    try
    {
        smtp.Send(msg);
    }
    catch
    {
        throw;
    }

我试过这段代码。但是它有密码。我希望用户将没有密码的电子邮件发送到我的xxx@hotmail.com

这是我的表单设计 enter image description here

2 个答案:

答案 0 :(得分:2)

这取决于你的主人。通常,Web主机为您提供本地SMTP服务器,然后您可以使用它来发送您想要的任何邮件,只需要知道配置设置并将它们与SmtpClient一起使用。

如果你的主人没有提供smtp(非常奇怪,除非你自动托管页面),你可以:

1 - 安装本地SMTP服务器(如果您管理服务器),这是首选解决方案。

2 - 使用谷歌等外部服务发送邮件,但是您需要在服务上创建一个帐户并使用这些凭据,并且考虑到Google在发送电子邮件方面有很多限制(每秒限制,将邮件标记为垃圾邮件等)。

答案 1 :(得分:1)

执行此操作的首选方法是不从用户电子邮件发送邮件,而是使用虚拟电子邮件发送邮件并包含用户输入的数据。可能不是最好的解决方案,但它不需要用户凭证。