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>
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
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. –
@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