Ich erstelle eine neue ASP.NET-Webanwendung, die SMTP zum Senden von Nachrichten verwendet. Das Problem ist, dass das SMTP nicht authentifiziert wurde, von wem die Nachricht gesendet wurde.
Wie kann ich SMTP in meinem Programm authentifizieren lassen? Hat C # eine Klasse mit Attribut zur Eingabe von Benutzername und Passwort?
c#
authentication
smtp
ecleel
quelle
quelle
smtpClient.Port(123)
Stellen Sie sicher, dass Sie
SmtpClient.Credentials
nach dem Anruf einstellenSmtpClient.UseDefaultCredentials = false
.Die Reihenfolge ist wichtig , da Einstellung
SmtpClient.UseDefaultCredentials = false
zurückgesetztSmtpClient.Credentials
auf null.quelle
Legen Sie die Eigenschaft Anmeldeinformationen fest, bevor Sie die Nachricht senden.
quelle
Um eine Nachricht über TLS / SSL zu senden, müssen Sie Ssl der SmtpClient-Klasse auf true setzen.
string to = "[email protected]"; string from = "[email protected]"; MailMessage message = new MailMessage(from, to); message.Subject = "Using the new SMTP client."; message.Body = @"Using this new feature, you can send an e-mail message from an application very easily."; SmtpClient client = new SmtpClient(server); // Credentials are necessary if the server requires the client // to authenticate before it will send e-mail on the client's behalf. client.UseDefaultCredentials = true; client.EnableSsl = true; client.Send(message);
quelle
Wie senden Sie die Nachricht?
Die Klassen im
System.Net.Mail
Namespace (die Sie wahrscheinlich verwenden sollten) unterstützen die Authentifizierung vollständig, entweder in Web.config angegeben oder mithilfe derSmtpClient.Credentials
Eigenschaft.quelle
In meinem Fall auch nach Befolgung aller oben genannten Punkte. Ich musste mein Projekt von .net 3.5 auf .net 4 aktualisieren, um eine Autorisierung für unseren internen Exchange 2010-Mailserver durchzuführen.
quelle