ENVIAR EMAIL PELO SERVIDOR DA REDEHOST

DRSDAVI 03/06/2013 00:11:29
#424326
O meu site esta postado na redehost, criei uma classe para o envio de email depois que o cliente faz o cadastro no site. O problema é este, quando eu testo a aplicacao no Localhost ela envia os emails normalmente, porém ao publicar o site no servidor ele não envia o email. Segue o codigo da classe:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Net.Mail;
using System.Net.Mime;
using System.Net;

public class enviarEmail
{
public enviarEmail()
{
//
// TODO: Add constructor logic here
//
}
public void enviarEmailDrs(string remetente, string destinatario, string assunto, string corpo)
{
MailAddress from = new MailAddress(remetente);
MailAddress to = new MailAddress( destinatario);
MailMessage msg = new MailMessage(from, to);
msg.Subject = assunto;
msg.Body = corpo;
msg.IsBodyHtml = true;
msg.BodyEncoding = System.Text.Encoding.GetEncoding([Ô]ISO-8859-1[Ô]);
msg.Priority = MailPriority.High;
SmtpClient smtp = new SmtpClient([Ô]mail32.redehost.com.br[Ô]); //servidor smtp da redehost ja tentei com o mail.meusmtp.com.br
smtp.Credentials = new NetworkCredential([Ô]contato@meuemail.com.br[Ô],[Ô]minhasenha[Ô]);
smtp.Port = 587;
try
{
smtp.Send(msg);
}
finally
{
if (msg != null) msg.Dispose();
}
}

//fim
}

Acrescentando o erro que retorna é no nivel de acesso. Fui no web config e coloquei < trust = [Ô]full[Ô] ... > e nao deu acesso. Dizendo que a aplicacao executou uma operacao ilegal ou coisa parecida. E que eu deveria entrar em contato com o administrador ou editar as configuraçoes de seguranca no arquivo de configuracao.
OCELOT 03/06/2013 10:39:56
#424332
Resposta escolhida
O problema é que o SmtpClient precisa de permissão especial para enviar email se não for na porta 25, e esta permissão não está disponível em Medium Trust, que é o que provavelmente seu site está rodando.

Não adianta tentar colocar o trust no config pois essa configuração é bloqueada a menos que você já tenha full trust, então eu diria para você primeiro tentar usar a porta 25 no servidor, no seu PC isso não vai funcionar pois os provedores de acesso agora são obrigados a bloquear esta porta, porém no servidor pode ser que funcione.

Se não funcionar você deve entrar em contato com o suporte do servidor explicando o que acontece, se mesmo assim não resolverem a única alternativa restante é trocar de host.
DRSDAVI 03/06/2013 22:16:37
#424356
Ocelot, agradeço a sua dica o problema foi resolvido conforme voçê disse, troquei a porta 587 pela 25 e a unica alteração foi no smtp que ficou assim: envio.redehost.com.br.

Por este motivo vou encerrar este tópico.
Obrigado.
Tópico encerrado , respostas não são mais permitidas