2012-07-30 17 views
8

Sto inviando email ai nostri clienti da Java. E non c'è alcuna autenticazione per il nostro SMTP. Quindi uso il seguente codice in Java per inviarlo senza autenticazione:Invio smtpClient senza autenticazione

Properties props = new Properties(); 
Session session; 
props.put("mail.smtp.auth", "false"); 
session = Session.getInstance(props, null); 

Questo codice funziona correttamente per l'invio di e-mail da Java. Ma voglio inviare email usando ASP.NET e C#. Ma non sono in grado di inviarlo. Per l'invio utilizzando C# Sto usando il seguente codice:

SmtpClient smtp = new SmtpClient(); 
smtp.Host = "<My smtp.Host>"; 
smtp.EnableSsl = false; 
smtp.Credentials = CredentialCache.DefaultNetworkCredentials; 
smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network; 
smtp.Send(message); 

ma mi dà il seguente errore:

The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.1 Relaying not allowed: <Here email address of To>

come spedirlo senza autenticazione?

risposta

19

Da Msdn. If the UseDefaultCredentials property is set to false and the Credentials property has not been set, then mail is sent to the server anonymously.

+0

Non capisco. Quale proprietà dovrei impostare per inviarlo senza autenticazione? – hims056

+0

Si rimuove completamente 'smtp.Credentials = ...' e si imposta 'UseDefaultCredentials' su false. –

+1

Oh .. provato ma dando lo stesso errore. – hims056

Problemi correlati