Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net Outlook VSF用于获取发件人电子邮件以及发送电子邮件时的发送时间_Vb.net_Email_Outlook_Outlook Addin_Outlook 2016 - Fatal编程技术网

Vb.net Outlook VSF用于获取发件人电子邮件以及发送电子邮件时的发送时间

Vb.net Outlook VSF用于获取发件人电子邮件以及发送电子邮件时的发送时间,vb.net,email,outlook,outlook-addin,outlook-2016,Vb.net,Email,Outlook,Outlook Addin,Outlook 2016,我在功能区中有一个按钮,可以调用下面的代码。其目的是为员工提供一个按钮,让他们可以单击该按钮发送电子邮件并将内容复制到剪贴板。(长话短说-必须将发送给客户的所有电子邮件粘贴到另一个系统中。我无法直接将电子邮件发送到那里。) 问题:我无法获取发件人姓名或实际发送时间 假设:我猜Outlook在发送send命令之前不会实际设置该值。发送时间相同。(我使用Date.Now的原因) 附加信息:在我最初的直觉之外,添加一个按钮来完成这两项任务的解决方案是可以接受的 Public Sub OnTextBut

我在功能区中有一个按钮,可以调用下面的代码。其目的是为员工提供一个按钮,让他们可以单击该按钮发送电子邮件并将内容复制到剪贴板。(长话短说-必须将发送给客户的所有电子邮件粘贴到另一个系统中。我无法直接将电子邮件发送到那里。)

问题:我无法获取发件人姓名或实际发送时间

假设:我猜Outlook在发送send命令之前不会实际设置该值。发送时间相同。(我使用Date.Now的原因)

附加信息:在我最初的直觉之外,添加一个按钮来完成这两项任务的解决方案是可以接受的

Public Sub OnTextButton(ByVal control As Office.IRibbonControl)
    Dim mailItem As Outlook.MailItem = Globals.ThisAddIn.Application.ActiveInspector().CurrentItem
    Dim email = "From: " & mailItem.Sender.Name & vbCrLf &
        "Sent: " & Date.Now.ToString("f") & vbCrLf &
        "To: " & mailItem.To & vbCrLf &
        "Subject: " & mailItem.ConversationTopic & vbCrLf & vbCrLf & mailItem.Body
    My.Computer.Clipboard.SetText(email)
    mailItem.Send()
End Sub
参考资料:

这是正确的:在邮件实际发送并移动到“已发送邮件”文件夹之前,不会设置与发件人相关的属性

你也可以

  • 在“已发送邮件”文件夹上的
    Items.ItemAdd
    事件中运行代码
  • 检查
    Account.SendUsingAccount
    属性(可以为空)并使用
    Account.SmtpAddress
    。如果未设置帐户,则可以假定使用了
    名称空间.Accounts
    集合中的第一个帐户