【发布时间】:2013-07-28 10:34:27
【问题描述】:
我正在尝试在 asp.net 中使用 SMTP 发送电子邮件。以下代码不起作用。
public string send_email(string name, string email, string message)
{
var fromAddress = email;
var toAddress = "ashish_sharma307@hotmail.com";
string subject = "Feedback";
string body = "From: " + name+ "\n";
body += "Email: " + email + "\n";
body += "Subject: " + subject + "\n";
body += "Question: \n" + message + "\n";
// smtp settings
var smtp = new System.Net.Mail.SmtpClient();
{
smtp.Host = "smtp.live.com";
smtp.Port = 587;
}
smtp.Send(fromAddress, toAddress, subject, body);
return "Your query has been submitted.";
}
这没有按预期工作。我正在尝试从反馈表中发送电子邮件。
【问题讨论】:
-
在我添加
{smtp.Host = "smtp.live.com";smtp.Port = 587;smtp.EnableSsl = true;smtp.DeliveryMethod =System.Net.Mail.SmtpDeliveryMethod.Network;smtp.Credentials = new System.Net.NetworkCredential("myemail", "mypassword");smtp.Timeout = 20000;}后它起作用了是不是没有其他过程可以在发送时不需要电子邮件和密码来推送电子邮件? -
您希望任何人从您的帐户发送电子邮件吗?如果没有,那么当然需要凭据。
-
你能做的,是在服务器上设置 SMTP,然后通过本地主机发送。谷歌iis smtp。完成后,您需要为电子邮件域设置 SFR 记录并将您的服务器添加到其中,这样发送的电子邮件就不会被放入垃圾邮件中。这样您就可以在没有用户名和密码的情况下发送。可以将 SMTP 服务器设置为仅接受来自本地计算机的电子邮件。
-
我只需要从已在电子邮件部分的反馈表中输入的电子邮件地址发送邮件,我只想定义将来自反馈的消息发送到哪个电子邮件。我不想要中间电子邮件和凭据。 [IE。只是发送和发送消息,类似于 php 中的 mail() 函数]
-
@SmithMart,能否请您出示一些代码。我确实可以访问我的网络服务器。我可以在现场或本地实施它。