Domanda

Ho distribuito la mia app Web al nostro server di produzione IIS 6.0 e tutto funziona tranne quando il mio codice tenta di inviare e-mail a un indirizzo che non sia nel dominio del nostro server di posta elettronica. Ho visto vari sintomi, ma questo sembra il più semplice descrivere:

Errore di sintassi in parametri o argomenti. La risposta del server è stata: 5.7.1 Questo sistema non è configurato per la posta del relè

La mia app Web Ottenere questo errore MSG utilizza System.net.mail. Risiede insieme all'app Web più vecchia che dovrebbe sostituire quale utilizza System.Web.mail. C'è un server SMTP su questa stessa macchina che sembra richiedere una nuova configurazione relativa al relè.

Controllo delle proprietà del server SMTP non ha mostrato nulla configurato per "Restrizioni del relè". L'app Web di produzione precedente invia e-mail senza errori con il server SMTP configurato come descritto.

Quindi, in sintesi, utilizzo di system.net.mail richiede qualcosa di diverso per l'e-mail di inoltro rispetto al sistema.Web.mail?

Web.config per la versione più recente che ha problemi di inoltro contiene:

<system.net><mailSettings><smtp><network host="mail.cbmiweb.com" port="25"/></smtp>
.

Ho usato i valori sopra per tutti i miei test (prima sul mio localhost con XP IIS 5.1; quindi su un server IIS 6.0 di stadiazione nella nostra LAN) e non ha mai avuto problemi "relè".

Il Web.config per la versione precedente utilizzando System.Web.mail non contiene nulla di relativo a SMTP!

Se improvvisamente ho bisogno di un nome utente e password aggiunto all'impostazione SMTP sopra, come non ho mai bisogno di "credenziali" durante lo sviluppo?

Non so molto di SMTP e non so nemmeno a sapere cosa chiedere all'amministratore del server di posta. Sono molto confuso su cosa fare ... grazie.

È stato utile?

Soluzione

Suoni per me come la vecchia app invia il messaggio direttamente al server dei destinatari e sta ignorando completamente il server di posta locale. Questo sarebbe successo perché la tua app non avrebbe avuto un server di posta da utilizzare configurato, quindi è recuperabile per il tentativo di inviare la posta stessa.

Questa è di solito una cattiva idea in quanto può causare ritardi nella tua applicazione a seconda della configurazione del server di posta dei destinatari (stiamo parlando qui). Inoltre, se non sei configurato per gestire cose come elenchi Grigio, ecc., Quindi puoi avere un numero elevato di e-mail che Pensa è stata inviata, ma mai arrivata davvero.

Dovresti chiedere all'amministratore del server di posta di configurare correttamente il server di posta locale per consentire il trasmesso dalla macchina.

o (e questo è il modo più sicuro)

È necessario impostare un utente sul tuo server di posta locale e avere la tua app utilizzare quelle credenziali di accesso quando si tenta di inviare e-mail.

SystemnetMail.com Il sito potrebbe essere utile. In particolare la pagina su Configurazione SMTP .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top