我正在尝试使用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.";
}
这不符合预期。我正在尝试从反馈表单发送电子邮件。
答案 0 :(得分:0)
将其放在答案中,以便更容易阅读。
在回答您的评论时,这是我将通过没有凭据的服务器发送的邮件消息。
您可以从任何地址向任何人发送电子邮件。
但请记住,电子邮件无法保证到达目的地。邮件过滤器通常会拒绝来自未添加到该域的SPF记录的smtp服务器的电子邮件。
MailMessage m = new MailMessage();
m.From = new MailAddress("Smith@MyDomain.com");
m.To.Add(new MailAddress("someone@TheirCompany.com));
m.Subject = "Message from Smith";
m.Body = "Hello, Test Message";
SendEmail(m);
var smtp = new SmtpClient
{
Host = "localhost",
Port = 25,
UseDefaultCredentials = false,
};
smtp.Send(m);
这是为了通过本地计算机发送,假设您已经设置了SMTP服务器。
发送电子邮件的变量和选项太多了,每个变量和选项都有自己的限制。
选项