Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用asp.net发送邮件_C#_Asp.net - Fatal编程技术网

C# 使用asp.net发送邮件

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

我试图在一个免费的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.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
o
from


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";`