ASP.NET 2.0 och SMTP på localhost: 5.7.1 Unable to relay

Avdelningen mystiska fel som uppträder i driftmiljö har fått ett nytt tillskott. Vid driftsättning av en kundapplikation upptäcktes det att användarna aldrig fick sina lösenord om de använde funktionen för att skicka ut nytt lösenord via e-post. Det visade sig att System.Net.Mail i ASP.NET 2.0 använder den lokala SMTP tjänsten på ett sådant sätt att SMTP servern tycker att det är frågan om försök att reläa post med falsk avsändare.

Felmeddelandet är "SmtpFailedRecipientException: Postlådan är inte tillgänglig. Serverns svar var: 5.7.1 Unable to relay for xxx@yyy.zz" detta på en maskin med svenskt språkpaket för ASP.NET.

Slår man om så att fullständiga felmeddelanden är synliga ser det ut ungefär så här:

IIS SMTP error screenshot

Problemet är relativt enkelt att avhjälpa, det handlar om att konfigurera SMTP tjänsten så att den tillåter relä-funktion för lokala maskinen, dvs IP-nummer 127.0.0.1. Enklaste sättet att fixa det i IIS-hanteraren är att:

  1. Öppna Internet Information Services Manager
  2. Gå ner i trädet för lokala datorn -> Default SMTP Virtual Server och höger-klicka på den noden, välj Properties
  3. Gå till fliken Access och klicka på knappen Relay...
  4. Klicka på Add... och lägg in 127.0.0.1 som IP-nummer
  5. Klicka Ok på de öppnade dialogerna

Nu ska utgående mail från ASP.NET applikationer fungera korrekt.

IIS security settings screenshot


Comment Section


Comments are closed.