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

cri*_*nco 2 .net c# asp.net email

嗨,我使用的是Goodaddy托管服务,mi复写是在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
        };

    }
Run Code Online (Sandbox Code Playgroud)

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

System.Net.Mail.SmtpException:发送邮件失败。---> System.Net.WebException:无法连接到远程服务器---> System.Net.Sockets.SocketException:尝试以其访问权限禁止的方式访问套接字74.125.199.109:587在System.Net.ServicePoint.ConnectSocketInternal(Endpoint endPointSnapshot,SocketAddress socketAddress)在System.Net.Sockets.Socket.DoConnect(Boolean connectFailure,Socket s4,Socket s6,Socket&socket,IPAddress&address,ConnectSocketState状态,IAsyncResult asyncResult,Exception&exception) -内部异常堆栈跟踪的结尾--在System.Net.PooledStream.Activate(Object owneringObject)处(System.Net.ServicePoint.GetConnection(PooledStream PooledStream,对象所有者,布尔异步,IPAddress&地址,Socket&abortSocket,Socket&abortSocket6) ,

可能是什么问题呢?

cri*_*nco 5

我解决了,希望这种帮助对某人有帮助,代码在这里:

 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
        };

    }
Run Code Online (Sandbox Code Playgroud)

问题是其他中继/ smtp服务器将无法从我们的主机上运行。而且我不需要指定密码。我更改端口和主机,这是对我有帮助的链接

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