C# 使用asp.net发送邮件
我试图在一个免费的asp服务器上使用asp.net页面中的c#发送邮件。我写了这段代码C# 使用asp.net发送邮件,c#,asp.net,C#,Asp.net,我试图在一个免费的asp服务器上使用asp.net页面中的c#发送邮件。我写了这段代码 public string send_email() { SmtpClient client = new SmtpClient("relay-hosting.secureserver.net", 25); string to = "eng.mona.developer@gmail.com"; client.DeliveryMethod = SmtpDeliveryMethod.Netw
public string send_email()
{
SmtpClient client = new SmtpClient("relay-hosting.secureserver.net", 25);
string to = "eng.mona.developer@gmail.com";
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.Credentials = new System.Net.NetworkCredential("eng.mona.developer@gmail.com", "XXXXXXX");
MailAddress fromAddress = new MailAddress("mona.elsayed.shalaby@gmail.com", "Mona ");
MailMessage message = new MailMessage();
message.From = fromAddress;
message.To.Add(to);
message.Body = "This is Test message";
message.Subject = "hi";
client.Send(message);
message.Dispose();
return "Email Send";
}
并在web.config中编写了这篇文章
<mailSettings>
<smtp from="eng.mona.developer@gmail.com">
<network host="relay-hosting.secureserver.net" port="25" userName="eng.mona.developer@gmail.com" password="XXXXX"/>
</smtp>
</mailSettings>
但是我有一个错误叫做
不允许使用邮箱名称。服务器的响应是:抱歉,从您的位置[XX.XXX.XX.XXX]进行的中继被拒绝(#5.7.1)
任何帮助都是SMTP服务器的安全错误,而不是代码的错误。可能是因为您使用Gmail凭据访问非Gmail SMTP服务器。这样您就可以允许从页面所在的服务器发送匿名电子邮件,然后您可以设置:
client.UseDefaultCredentials = false;
及
正如Max Al-Farakh所说,请使用您有权使用的SMTP服务器。1)如果您使用web.config
配置(这是正确的!)您不应以编程方式设置SmtpClient
,否则配置将毫无用处强>
SmtpClient client = new SmtpClient();
MailMessage message = new MailMessage();
message.To.Add(to);
message.Body = "This is Test message";
message.Subject = "hi";`
这就足够了,代码中没有server
ofrom
2) 正如Max所说,这不是代码问题:这是配置问题使用邮件客户端尝试服务器端口用户密码配置(outlook、thunderbird或任何其他)如果这样做有效,你只需将其复制到标签中。
中继托管。secureserver.net
无法从gmail.com发送电子邮件
我测试了yahoo mail,同样的错误出现了中继托管。secureserver.net
无法从它不拥有的域发送电子邮件。你需要联系你的邮件服务器管理员,询问它可以发送什么。大多数人在发布被问了一百万次的问题之前都会在这里搜索。我可以用哪封邮件测试我想这是一个Godaddy SMTP服务器,他们应该给你访问凭据。我没弄明白,你能说清楚一点吗,请在代码“relay hosting.secureserver.net”中使用的主机实际上不是免费的,它要求您在GoDaddy server上有一个托管网站,以便从中发送邮件。但是如果你想直接从你的gmail发送电子邮件,那么你可以使用你的主机“smtp.gmail.com”和端口587。
SmtpClient client = new SmtpClient();
MailMessage message = new MailMessage();
message.To.Add(to);
message.Body = "This is Test message";
message.Subject = "hi";`