일반적으로 내 응용 프로그램은 일반 시스템 주소로 전자 메일을 보냅니다. 하지만 어떤 경우에는 로그인 한 사용자로 대신 보내고 싶습니다..NET web.config mailSettings를 재정의 할 수없는 이유는 무엇입니까?
는의 Web.config :
Dim from As String = ConfigurationManager.AppSettings("DefaultEmailAddress")
Dim to As String = "[email protected]"
Dim m As New Mail.MailMessage(from, to)
m.IsBodyHtml = True
m.Subject = "Test"
m.Body = "<p>This is a test.</p>"
Dim c As New System.Net.Mail.SmtpClient
If CurrentUser.HasExchangeCredentials Then
Dim userName As String = CurrentUser.ExchangeUserName
Dim password As String = CurrentUser.ExchangePassword
Dim address As String = CurrentUser.EmailAddress
c.UseDefaultCredentials = False
c.Credentials = New System.Net.NetworkCredential(userName, password)
m.Sender = New Mail.MailAddress(address)
End If
c.Send(m)
내 이메일 외출 있지만 예 @ noreply 로 전송됩니다
는<?xml version="1.0"?>
<configuration>
...
<appSettings>
...
<add key="DefaultEmailAddress"
value="[email protected]" />
</appSettings>
<system.net>
<mailSettings>
<smtp>
<network host="servername"
port="25"
userName="noreply"
password="apple" />
</smtp>
</mailSettings>
</system.net>
...
</configuration>
이 코드는 Web.config의에서 그 기본 보낸 사람을 무시하지 못합니다. com 그리고 내 Outlook Sent 폴더에도 표시되지 않습니다.
내가 원하지 않는 UseDefaultCredentials. 새롭고 다른 NetworkCredential을 사용하고 싶습니다.
Microsoft Exchange를 사용하고 있습니다.
고마워요! 내가 설정 했어. 이제 사용자가 보낸 것으로 보입니다. 그러나 여전히 Outlook의 사용자의 보낸 편지함 폴더에는 나타나지 않습니다. 왜? –
전적으로 확신 할 수는 없지만 보낸 항목은 Outlook 클라이언트 자체 및/또는 MAPI 프로필의 작업 일 것입니다.나는 닷넷에있는 메일이 보내진 항목에 무엇이든 넣을 것이라고 생각하지 않는다. 여기에 대한 링크가 있습니다 : http://bytes.com/topic/asp-net/answers/506310-system-net-mail-outlook – klabranche