2012-07-30 10 views
8

Ich sende E-Mails an unsere Kunden von Java. Und es gibt keine Authentifizierung für unser SMTP. So verwende ich den folgenden Code in Java, um es ohne Authentifizierung zu senden:SmtpClient Senden ohne Authentifizierung

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

Dieser Code funktioniert gut für das Senden von E-Mails aus Java. Aber ich möchte E-Mails mit ASP.NET und C# senden. Aber ich kann es nicht senden. Für das Senden es mit C# ich den folgenden Code verwenden:

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); 

Aber es gibt mir die folgende Fehlermeldung:

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>

Wie es ohne Authentifizierung schicken?

Antwort

19

Von 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

Ich verstehe es nicht. Welche Eigenschaft sollte ich einstellen, um es ohne Authentifizierung zu senden? – hims056

+0

Sie entfernen 'smtp.Credentials = ...' vollständig und setzen 'UseDefaultCredentials' auf false. –

+1

Oh .. Versucht, aber den gleichen Fehler geben. – hims056

Verwandte Themen