Ich muss eine E-Mail über eine Webanwendung senden, aber die Adresse, an die die E-Mail geht, erfordert eine SMTP-Authentifizierung. Der Code funktioniert für Postfächer, die keine Authentifizierung benötigen.
Ich möchte Windows-Benutzeranmeldeinformationen weitergeben (die Site verwendet die Windows-Authentifizierung) und dachte, dies würde mit meinem Code erreicht, aber leider erhalte ich Fehler, dass der Client keine Berechtigung zum Senden hat. Ich gehe davon aus, dass die Anmeldeinformationen des Anwendungspoolbenutzers anstelle des angemeldeten Benutzers verwendet werden.
Dim mailMessage As System.Net.Mail.MailMessage = New System.Net.Mail.MailMessage()
mailMessage.IsBodyHtml = True
Dim strBody As String = "<font size='2' font face='Tahoma'>" & _
"<br><br><b>Date: </b>" & Me.txtDate.Text
mailMessage.From = New System.Net.Mail.MailAddress(fromAddress) 'Logged in user's email address
' More code here to build the email body etc...
' Then attempt to send it:
Dim smtpClient As System.Net.Mail.SmtpClient = New System.Net.Mail.SmtpClient
smtpClient.UseDefaultCredentials = True
smtpClient.Send(mailMessage)
Web.config enthält nur den SMTP-Servernamen unter system.net
(mailsettings-> smtp)
Wie kann ich die Anwendung dazu bringen, die Anmeldeinformationen des Benutzers zu verwenden?
Haben Sie das UseDefaultCredentials
in der Web.config angegeben? Wenn nicht, müssen Sie dies tun, um sie zu verwenden. Dadurch kann der aktuell angemeldete Benutzer E-Mails über den angegebenen SMTP-Server senden. Beachten Sie, dass Websites normalerweise unter einem separaten Benutzerausweis ausgeführt werden, nicht unter dem aktuell auf dem Computer angemeldeten Benutzer.
<system.net>
<mailSettings>
<smtp deliveryMethod="network">
<network host="localhost" port="25" defaultCredentials="true" />
</smtp>
</mailSettings>
</system.net>
Oder geben Sie die Anmeldeinformationen im Code an.
smtpClient.Credentials = new NetworkCredential("[email protected]", "abcd1234");
Wenn beide nicht funktionieren, sind Sie einfach nicht berechtigt, E-Mails auf diesem Server zu senden.
Siehe für weitere Informationen
https://msdn.microsoft.com/nl-nl/library/w355a94k(v=vs.110).aspx
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen