[英]Get Email address from sender account
當激活此宏時,是否有辦法從已登錄的Outlook帳戶“讀取”用戶電子郵件地址並發送電子郵件?
Sub MailSenden()
Dim olApp As Object
Dim olOldBody As String
Rem Email erstellen
Set olApp = CreateObject("Outlook.Application")
With olApp.CreateItem(0)
.GetInspector.Display
olOldBody = .htmlBody
.To = "carsten.asdf@xxx.yy"
.Subject = "Testformular"
.Body = "Das ist eine e-Mail" & Chr(13) & _
"Viele Grüße..." & Chr(13) & Chr(13)
.Attachments.Add "C:\Users\" & Environ$("USERNAME") & "\Desktop\" & "CSV-Export.csv"
.Attachments.Add ActiveWorkbook.FullName
.Send
End With
Kill "C:\Users\" & Environ$("USERNAME") & "\Desktop\" & "CSV-Export.csv"
End Sub
我需要獲取“發件人”電子郵件地址。
EDIT1:smtp的解決方案
Msgbox
CreateObject("Outlook.Application").GetNamespace("MAPI").Session.CurrentUser. _
AddressEntry.GetExchangeUser.PrimarySmtpAddress
嘗試MailItem.Session.CurrentUser.Address
或MailItem.SenderEmailAddress
都應該起作用。
您可能需要從Exchange帳戶轉換為SMTP,要執行此操作,請參閱:
要獲取當前用戶的電子郵件地址,請使用以下代碼。
With olApp
MsgBox .GetNamespace("MAPI").CurrentUser.Address
End With
要選擇從哪個地址發送電子郵件,請使用此代碼。 這樣,您將在創建的電子郵件中插入"FROM"
選項卡。
With olApp.CreateItem(0)
.SentOnBehalfOfName = "YourEmail@yourdomain.com"
.GetInspector.Display
olOldBody = .htmlBody
.To = "carsten.asdf@xxx.yy"
.Subject = "Testformular"
.Body = "Das ist eine e-Mail" & Chr(13) & _
"Viele Grüße..." & Chr(13) & Chr(13)
.Attachments.Add "C:\Users\" & Environ$("USERNAME") & "\Desktop\" & "CSV-Export.csv"
.Attachments.Add ActiveWorkbook.FullName
.Send
End With
請注意,您應該With olApp.CreateItem(0)
代碼行之后With olApp.CreateItem(0)
放置.SentOnBehalfOfName = "YourEmail@yourdomain.com"
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.