Kan geen e-mail verzenden van de productieserver met c # en gmail

Ik heb deze code getest in mijn ontwikkelomgeving (Windows 7, Visual Studio 2010) en het werkt goed

public static bool SendMail(string to, string subject, string message)
{
    try
    {
        NetworkCredential loginInfo = new NetworkCredential("mylogin","mypassowrd");
        MailMessage msg = new MailMessage();
        msg.From = new MailAddress("mylogin");
        msg.To.Add(new MailAddress(to));
        msg.Subject = subject;
        msg.Body = message;
        msg.IsBodyHtml = true;
        SmtpClient client = new SmtpClient("smtp.gmail.com",587);
        client.EnableSsl = true;
        client.UseDefaultCredentials = false;
        client.Credentials = loginInfo;
        client.Send(msg);

        return true;
    }
    catch (Exception)
    {
        return false;
    }
}

Maar wanneer ik het naar mijn productieserver (Windows Server 2008) verplaats, werkt het niet. Mijn eerste gedachte was dat de firewall de poort blokkeert, dus ik maak een uitslagregel om poort 587 met TCP-protocol te openen. Bot dit werkt niet.

Elk inzicht zal worden gewaardeerd.

Bedankt

1
Bedankt, het was mijn ISA-server. Ik maak gewoon een regel over de ISA en die werkt.
toegevoegd de auteur roncansan, de bron
Nou, in plaats van valse retourneren ... registreer de uitzondering, plaats hem hier en laat zien of we je kunnen helpen
toegevoegd de auteur Pleun, de bron
Geef meer informatie over waarom het niet werkt. Krijgt u een foutmelding?
toegevoegd de auteur Anders Abel, de bron

1 antwoord

Heb je geverifieerd dat je poort 587 op smtp.gmail.com kunt bereiken via een andere tool op de server? In een productieomgeving zijn er talloze plaatsen waar een poort kan worden gefilterd - inclusief firewalls en routers in het netwerk en niet alleen de firewall op de server.

Een manier om de netwerkconnectiviteit van de toepassing te controleren, is door te proberen een e-mail te verzenden in uw toepassing en tegelijkertijd de opdracht netstat -n uit te voeren op de console van de server. Als de verbinding met smtp.gmail.com vastloopt als SYN_SENT , is er geen TCP-verbinding tot stand gebracht.

3
toegevoegd