Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.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/33.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#和Godaddy服务器的电子邮件发送错误_C#_Asp.net_.net_Email - Fatal编程技术网

c#和Godaddy服务器的电子邮件发送错误

c#和Godaddy服务器的电子邮件发送错误,c#,asp.net,.net,email,C#,Asp.net,.net,Email,您好,我正在使用goodaddy的主机,我的应用程序是用c#编写的,问题是在发送电子邮件时,这是我的代码 public ResponseDto sendEmail(EmailDto emailDto) { try { MailMessage message = new MailMessage(); SmtpClient client = new SmtpClient(); message.F

您好,我正在使用goodaddy的主机,我的应用程序是用c#编写的,问题是在发送电子邮件时,这是我的代码

 public ResponseDto sendEmail(EmailDto emailDto) {
        try
        {
            MailMessage message = new MailMessage();
            SmtpClient client = new SmtpClient();
            message.From = new MailAddress("mail@gmail.com");
            message.Subject = "have a new mail";
            message.Body = "info: \n "
                + "name: " + emailDto.Name 
                + "\mail: "+ emailDto.Email + "\nMessage: " +
                emailDto.Message;
            message.To.Add("mail@hotmail.com");
            client.EnableSsl = true;
            client.UseDefaultCredentials = false;

            client.Port = 587;
            client.Host = "smtp.gmail.com";
            client.Credentials = new System.Net.NetworkCredential("mail@gmail.com", "(password");
            client.Send(message);
        }
        catch (Exception e) {
            return new ResponseDto
            {
                message = e.ToString()
              ,
                Success = false
            };
        }

        return new ResponseDto
        {
            message = "success",
            Success = true
        };

    }
我发送电子邮件的电子邮件是gmail,错误是下一个

System.Net.Mail.SmtpException:发送邮件失败。-->System.Net.WebException:无法连接到远程服务器-->System.Net.Sockets.SocketException:试图在System.Net.Sockets.socket.DoConnect(EndPoint endPointSnapshot,SocketAddress SocketAddress SocketAddress)以其访问权限74.125.199.109:587禁止的方式访问套接字在System.Net.ServicePoint.ConnectSocketInternal(布尔连接失败、套接字s4、套接字s6、套接字和套接字、IP地址和地址、ConnectSocketState状态、IAsyncResult asyncResult、异常和异常)----内部异常堆栈跟踪的结束---System.Net.ServicePoint.GetConnection(PooledStream PooledStream、对象所有者、布尔异步、IPAddress&address、Socket&abortSocket、Socket&abortSocket6)在System.Net.PooledStream.Activate(对象所有者对象、布尔异步、GeneralAsyncDelegate异步回调)在System.Net.PooledStream.Activate(对象所有者对象、GeneralAsyncDelegate异步回调)在System.Net.Mail.SmtpConnection.GetConnection(ServicePoint ServicePoint)的System.Net.Mail.SmtpTransport.GetConnection(ServicePoint ServicePoint)的System.Net.Mail.SmtpClient.GetConnection(ServicePoint ServicePoint)的System.Net.Mail.SmtpTransport.GetConnection(ServicePoint ServicePoint ServicePoint)的System.Net.Mail.SmtpClient.GetConnection()中在System.Net.Mail.SmtpClient.Send(MailMessage message)--内部异常堆栈跟踪的结尾---在System.Net.Mail.SmtpClient.Send(MailMessage message message)的核心.EmailManager.sendEmail(EmailDto EmailDto)


有什么问题吗?

这是我行之有效的方法。我将在web配置中设置用户名和密码

 MailMessage mailMessage = new MailMessage();
 mailMessage.From = new MailAddress("mail@gmail.com", "");
 mailMessage.To.Add(userEmailAddress);
 mailMessage.Subject = subject;
 mailMessage.Body = "";
 mailMessage.IsBodyHtml = true;
 SmtpClient mailSender = new SmtpClient(ConfigurationManager.AppSettings["smtpconn"]);
await mailSender.SendMailAsync(mailMessage);

web config

  <appSetting>
   <add key="smtpconn" value="smtp.gmail.com" />
 </appSettings>
 <system.net>
<mailSettings>
  <smtp from="mail@gmail.com">
    <network host="smtp.gmail.com" port="587" userName="un" password="pw" defaultCredentials="false"/>
  </smtp>
</mailSettings>
</system.net>
MailMessage=newmailmessage();
mailMessage.From=新邮件地址(“mail@gmail.com", "");
mailMessage.To.Add(userEmailAddress);
mailMessage.Subject=主题;
mailMessage.Body=“”;
mailMessage.IsBodyHtml=true;
SmtpClient mailSender=新的SmtpClient(ConfigurationManager.AppSettings[“smtpconn”]);
等待mailSender.SendMailAsync(mailMessage);
网络配置

我解决了,我希望这个答案能帮助一些人,代码如下:

 public ResponseDto sendEmail(EmailDto emailDto) {
        try
        {
            MailMessage message = new MailMessage();
            SmtpClient client = new SmtpClient();
            message.From = new MailAddress("mail@gmail.com");
           message.Subject = "have a new mail";
        message.Body = "info: \n "
            + "name: " + emailDto.Name 
            + "\mail: "+ emailDto.Email + "\nMessage: " +
            emailDto.Message;
            message.To.Add("mail@hotmail.com");
             client.EnableSsl = false;
             client.UseDefaultCredentials = false;
             client.Port = 25;
             client.Host = "relay-hosting.secureserver.net";
             client.Send(message);

        }
        catch (Exception e) {
            return new ResponseDto
            {
                message = e.ToString()
              ,
                Success = false
            };
        }

        return new ResponseDto
        {
            message = "success",
            Success = true
        };

    }
问题是其他中继/smtp服务器无法从我们的主机上工作。我不需要指定密码。我更改了端口和主机,这是帮助我的链接


https://au.godaddy.com/community/Developer-Cloud-Portal/Unable-to-send-email-from-C-net-application-from-website/td-p/2394

显然,使用共享主机帐户。或者您可以尝试代替SMTP@KenY-N y看到这篇帖子,也许我需要设置一封来自godaddyI的电子邮件,几分钟后我得到了答案,谢谢大家!我做到了,而且给我一个你认为问题可能出在托管提供商身上的同样的错误。我觉得可能。我的实现不是异步的,但是否无关?我解决了,几分钟后我得到了答案谢谢!你救了我一命:)client.Host=“relay hosting.secureserver.net”;解决了我们的问题