2016-04-20 1 views
1

Ich habe eine Azure Web App. Wenn ich versuche, eine E-Mail über meinen externen SMTP-Server zu senden, gehört die Quell-IP von Azure nicht zu den in den "Ausgehenden IPs" der Webanwendung aufgeführten. Ich muss zuverlässig wissen, was die Quell-IPs sein können, damit ich sie auf meinem SMTP-Server auf die weiße Liste setzen kann. Weiß jemand, warum das sein könnte?Das Senden von E-Mail-Nachrichten über einen externen SMTP-Server verwendet IP-Adressen, die nicht in den ausgehenden IP-Adressen von Azure Web Apps definiert sind

Wenn es hilft, hier ist ein Testcode.

private void SendTestEmail() 
    { 
     SmtpClient client = new SmtpClient(); 
     MailMessage mail = new MailMessage(); 
     mail.To.Add(RECIPIENT_EMAIL); 
     mail.Subject = "TEST subject"; 
     mail.Body = "This is a test<BR><BR><BR>"; 
     mail.IsBodyHtml = true; 
     mail.From = new MailAddress("[email protected]", "Testing"); 
     mail.Body += "<div class=eventBody>This is a test</div><BR><BR>"; 

     client.Send(mail); 
    } 

Der SMTP-Server-Adresse ist in der web.config definiert und arbeitet von bekannten IP-Adressen:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <system.net> 
    <mailSettings> 
     <smtp> 
     <network host="mysmtpservernamegoeshere" /> 
     </smtp> 
    </mailSettings> 
    </system.net> 
</configuration> 
+0

nur neugierig ..where setzen Sie die smtp.host und SMTP-Port, funktioniert dieser Code, wenn Sie es lokal ausführen ..? kannst du deine web.config Dateieinstellung zeigen ..? – MethodMan

+0

Haben Sie in Betracht gezogen, den Hostserver in der Konfigurationsdatei zu speichern, z. https://msdn.microsoft.com/en-us/library/w355a94k%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396 Ich habe ein Beispiel, das dies über eine Klasse tut, um die Konfigurationsdatei aber zu lesen Ich hielt es für ratsam, es nicht als Antwort zu platzieren, falls dies nicht das ist, was Sie brauchen könnten. –

+0

@MethodMan Ja, ich setze den SMTP-Host in der Datei web.config. Ich habe meine Frage bearbeitet, um sie einzuschließen. Der Code funktioniert, wenn er von einer Whitelist-IP stammt. Das Problem hierbei ist, dass Azure von einer IP sendet, die nicht in den "Ausgehenden IPs" der Webanwendung aufgeführt ist. – drewob

Antwort

0

Wenn Sie einen SMTP-Client einrichten, Ich gehe davon aus Sie die SMTP-Domäne kennen, können Sie alle zu tun ist eine umgekehrte Suche nach dem. Zum Beispiel, wenn mein SMTP-Host ist smtp.office365.com und ich eine umgekehrte IP-Lookup es gibt mir die IP-Adresse von 132.245.229.178, aber Sie sollten in der Lage sein, nur den Port für die SMTP in Ihrer Firewall weiterleiten.

Verwandte Themen