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:
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:
- Öppna Internet Information Services Manager
- Gå ner i trädet för lokala datorn -> Default SMTP Virtual Server och höger-klicka på den noden, välj Properties
- Gå till fliken Access och klicka på knappen Relay...
- Klicka på Add... och lägg in 127.0.0.1 som IP-nummer
- Klicka Ok på de öppnade dialogerna
Nu ska utgående mail från ASP.NET applikationer fungera korrekt.
