Senden von E-Mails über einen proxy mithilfe von gmail smtp
Versuchen, senden Sie ein paar E-Mail in meinem C# - app. Ich bin hinter einem proxy - das ist kein Zweifel, warum der code nicht funktioniert. Dies ist, was ich habe, so weit:
App.Config:
<system.net>
<defaultProxy enabled="false">
<proxy proxyaddress="xxx.xxx.xxx.xxx"/>
</defaultProxy>
<mailSettings>
<smtp deliveryMethod="Network">
<network host="smtp.gmail.com" port="587"/>
</smtp>
</mailSettings>
</system.net>
Code:
var username = "...";
var password = "...";
var fromEmail = "...";
var toEmail = "...";
var body = "Test email body";
var subject = "Test Subject Email";
var client = new SmtpClient("smtp.gmail.com", 587)
{
Credentials = new NetworkCredential(username, password),
EnableSsl = true
};
try
{
client.Send(fromEmail, toEmail, subject, body);
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
Everytime I get System.Net.WebException: Der remotename konnte nicht aufgelöst werden: 'smtp.gmail.com'
Wo/wie fange ich an zu Debuggen?
Kann die Antwort, die Sie suchen, verfügbar auf stackoverflow.com/questions/19446001/...
InformationsquelleAutor baron | 2010-04-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist richtig, dass die hinter einem proxy würde verhindern, dass Ihr code funktioniert. Die Lösung ist nicht so einfach. Es gibt keine standard - "SMTP-proxy", dass ich bewusst bin (die Art und Weise, dass es HTTP-Proxys). Sie würden für die Verwendung eines SOCKS-proxy und einige finden .NET-client für den es - gibt es nicht in der .NET framework, aber wenn Sie google ".NET SOCKS-proxy" Sie sollten in der Lage sein, einen zu finden.
Ist es ziemlich unwahrscheinlich, dass Ihr Netzwerk läuft ein SOCKS-proxy, obwohl, so könnten Sie ebenso gut aufgeben auf dieser und nur mit den lokalen SMTP-server.
InformationsquelleAutor EMP
Debuggen irgendetwas mit client-server, telnet ist dein Freund.
Versuchen fallen zu DOS und Eingabe von:
Sollten Sie sehen:
Wenn Sie nicht (Sie erhalten eine "kann nicht verbinden" oder so), bist du auf jeden Fall blockiert wird.
Können Sie installieren telnet von Ihrem add/remove programs unter 'windows-Komponenten', wenn Sie es nicht haben, installiert.
InformationsquelleAutor Eddie Parker