Incapaz de enviar e-mail através do GoDaddy SMTP

eu estou trabalhando em um ASP .Net MVC site e tenho de enviar e-mail através do Godaddy smtp, Anteriormente o meu site foi desenvolvido em ASP clássico e foi hospedado no godaddy de hospedagem na web (em seguida, ele estava funcionando bem), mas agora estou de hospedagem deste site no IIS,

estou a usar o seguinte código para enviar e-mail, mas não está a funcionar

MailMessage msg = new MailMessage();
msg.From = new MailAddress(model.From);
msg.To.Add(model.To);
msg.Body = model.Body;
msg.Subject = model.Subject;

SmtpClient smtp = new SmtpClient("relay-hosting.secureserver.net",25);
smtp.Credentials = new NetworkCredentials("support@{myCompanyName}.com",{password});
smtp.EnableSsl  = False;
smtp.Send(msg);

eu também tenho usado dedrelay.secureserver.net em vez de relay-hosting.secureserver.net host (como mencionado em https://pk.godaddy.com/help/what-is-my-servers-email-relay-server-16601 mas ambos não estão a funcionar

Author: Saqib A. Azhar, 2018-05-19

4 answers

GoDaddy não permite relaying através de seu servidor a menos que você esteja em um dos seus planos de hospedagem que inclui SMTP.

 2
Author: Terry Carmen, 2018-05-24 17:34:51
A maioria dos servidores SMTP são bastante restritivos hoje em dia quando se trata de E-mails enviados. Eu recomendo testar os parâmetros com um cliente de E-mail (ou telnet, se você está dentro desse tipo de coisa) antes de assumir que há algo errado com o código. Isso também pode dar - lhe uma mensagem de erro que ajuda a depuração. Algumas coisas que me vêm à mente:
  1. O servidor pode verificar o endereço a partir do seu banco de dados, especificamente a conta de utilizador que utiliza para autenticar. Enquanto você pode colocar o que quiser no cabeçalho do E-mail, Este campo deve ser o seu endereço real da conta autenticada e apenas isso (sem nome descritivo).
  2. o servidor pode necessitar do uso de encriptação TLS, independentemente da porta.
  3. a porta 25 é bastante comum, mas de acordo com o envio oficial de correio RFC deve usar a porta 587. Talvez tentar isso.
  4. É possível que GoDaddy só permita conexões de seus próprios servidores (hospedagem) para esses SMTP rele.

A menos que a ligação falhe completamente (o que apontaria para o no. 4), o servidor deve enviar algum tipo de mensagem de erro em algum momento. Como eu escrevi acima, eu recomendaria testar / registar a comunicação, que deve fornecer algum insight.

 1
Author: user3163684, 2018-05-26 15:27:57

Talvez você devesse ligar para o seu ISP, aqui nos Países Baixos eles bloqueiam a porta 25 por causa de malware e worms que costumavam enviar e-mail. Pode ser tão simples como isto. Já tentou a 'telnetting' da sua máquina local para o servidor de E-mail (telnet) mailserver.io 25)? Se isto terminar em um tempo para fora você tem sua resposta e o porto é filtrado para fora em seu ISP ou do seu fim.

 1
Author: Erik J., 2018-05-26 21:39:19

Pode colocar as suas credenciais em webconfig como (para godaddy)

 <system.net>
  <mailSettings>
    <smtp from="your email address">
      <network host="relay-hosting.secureserver.net" port="25" />
    </smtp>
  </mailSettings>
</system.net>

E em C# podes usar como

MailMessage message = new MailMessage();
message.From = new MailAddress("your email address");

message.To.Add(new MailAddress("your recipient"));

message.Subject = "your subject";
message.Body = "content of your email";

SmtpClient client = new SmtpClient();
client.Send(message);

Vai funcionar

 0
Author: Vikas, 2018-05-19 11:37:21