Skip to main content
 首页 » 编程设计

c#之如何在没有用户密码的情况下使用 asp.net 向 hotmail 发送邮件

2024年04月17日42birdshome

我有一个网页,在联系我们选项卡中我有一个表单,用户只能输入他们的姓名、电子邮件 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

这是我的表单设计

请您参考如下方法:

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

如果您的主机不提供 smtp(这很奇怪,除非您自行托管页面)您可以:

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

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