通过以下设置,我无法从本地PC发送邮件。搜索了堆栈溢出的许多响应 -
尝试了所有这些可能性之后,我最终得到了两个错误中的任何一个 -
问题1. 请准确地说明,从Windows Azure服务中使用godaddy smtp服务器需要哪些配置?
从localhost我试图启用自签名证书,如Scott所建议的那样..
问题2. 指定来自 web.config中的地址似乎是多余的,因为在MailMessage中我们必须这样做 再次从地址输入。它的目的是什么?
配置Azure以配置IIS以使用azure服务的最简单方法
private void SendMail(MailMessage msg)
{
try
{
var smtp = new SmtpClient();
smtp.Send(msg);
}
catch (SmtpFailedRecipientException exFailed)
{
lblExSendMail.Text = exFailed.Message;
}
}
<system.net>
<mailSettings>
<smtp deliveryMethod="Network" from="xyz@xyz.com">
<network host="smtpout.secureserver.net" port="80" userName="xyz@xyz.com" password="xyz-password" />
</smtp>
</mailSettings>
答案 0 :(得分:2)
Ans 1.端口80代替使用25对我发送邮件起作用 使用http频道。这适用于本地和Windows Azure。除了host,port = 80,userName和password - > gt; for http。
Ans 2.来自web.config中smtp元素的属性 MailMessage的无参数构造函数。这是特别的 当您要通过公共电子邮件地址发送邮件时非常有用。
答案 1 :(得分:1)
使用第三方SMTP服务器从Windows Azure应用程序发送电子邮件不需要在任何一方,Windows Azure或第三方SMTP服务器上进行任何特殊配置。大多数SMTP服务器都设置为使用端口25,这是从Windows Azure发送电子邮件的最简单方法,GoDaddy SMTP服务器也设置为使用端口25,因此您确定可以轻松完成。任何一方都不需要SSL / certifcate配置。
以下代码段是您可以直接在C#app或Windows Azure中使用的最简单的代码,无需任何配置和goDaddy SMTP服务:
SmtpClient MySMTPClient;
MailMessage myEmail;
MySMTPClient = new SmtpClient("smtp.secureserver.net", 25);
MySMTPClient.Credentials = new NetworkCredential("<MailID>", "<Password>");
myEmail = new MailMessage(new MailAddress("<sender>"), new MailAddress("<receiver>"));
myEmail.Body = "Email from Windows Azure Application";
myEmail.Subject = "Email from Windows Azure";
try
{
MySMTPClient.Send(myEmail);
}
catch (Exception ex)
{
// Display Exception Details
}
答案 2 :(得分:0)
这很简单:
你必须专注于smtp主机,端口,ssl ...... 将smtp主机更改为: relay-hosting.secureserver.net 并且删除 端口和 ssl ,这就是所有...... 不要使用smtp端口和smtp ssl true或false
var fromAddress = "mailfrom@yourdomain";
// any address where the email will be sending
var toAddress = "mailto@yourdomain";
//Password of your mail address
const string fromPassword = "******";
// Passing the values and make a email formate to display
string subject = TextBox1.Text.ToString();
string body = "From: " + TextBox2.Text + "\n";
body += "Email: " + TextBox3.Text + "\n";
body += "Subject: " + TextBox4.Text + "\n";
body += "Message: \n" + TextBox5.Text + "\n";
// smtp settings
var smtp = new System.Net.Mail.SmtpClient();
{
smtp.Host = "relay-hosting.secureserver.net";
**//Warning Delete =>//smtp.Port = 80;**
**//Warning Delete =>//smtp.EnableSsl = false;**
smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
smtp.Credentials = new NetworkCredential(fromAddress, fromPassword);
smtp.Timeout = 20000;
}
// Passing values to smtp object
smtp.Send(fromAddress, toAddress, subject, body);
适用于目标Framework 4.0上的Godaddy Windows Host