我在工作中使用 Microsoft 电子邮件。我使用网络邮件界面。(我认为这称为 Outlook 365 网络邮件)。我注意到,当您阅读电子邮件时,屏幕顶部会显示一个唯一的 URL。我希望能够将该 URL 复制并粘贴到我的组织软件中(我使用“Checkvist”,这是一个在线大纲,与 Org-Mode 有点相似)。这样我就可以将某些任务链接到某些电子邮件。但是,当我复制 URL 并将其粘贴到新窗口中时,什么也没发生(它会将我带到网络应用程序,但不会打开相关电子邮件)。有人知道使用 URL 转到相关电子邮件的方法吗?
谢谢
否
答案1
因此今天早上经过反复尝试,我找到了以下方法:
解决方案 1 - 使用电子邮件 URL 中的 ID 创建 URL
首先,要使此功能正常工作,您需要关闭 OWA 中的对话模式,方法是单击邮箱右上角的齿轮,然后在“对话视图”下将其设置为关闭。(这样,当您选择电子邮件时,URL 将为您提供消息/项目 ID,而不是对话 ID。)
然后选择您想要创建链接的电子邮件,URL 将如下所示,但以[MESSAGE_ID]
URL 编码格式显示完整的消息 ID。
https://outlook.office.com/mail/inbox/id/[MESSAGE_ID]
复制完整内容[MESSAGE_ID]
并插入,如以下 URL 所示:
https://outlook.office.com/owa/?ItemID=[MESSAGE_ID]&viewmodel=ReadMessageItem&path=&exvsurl=1
打开此链接后,您将直接转到电子邮件。
请参阅下面的 powershell 脚本,它将打开一个表单,您将从浏览器复制的 URL 插入第一个文本框并单击“转换”,然后它将返回指向 O365 中的电子邮件的 URL 并清除第一个字段,以便快速连续转换几个,并且窗口应该保持在最顶部。这仍然需要将转换模式设置为关闭,如第 1 段所述。我想补充一点,这是使用 PoshGUI 编辑器非常快速完成的,并且锚点等尚未设置,因此扩大窗口可能不会产生预期的效果。
Function Convert-URL{
Param(
[String]$O365_URL
)
$inputURL = $O365_URL
$returnURL = "https://outlook.office.com/owa/?ItemID=" + ($inputURL | Split-Path -Leaf) + "&viewmodel=ReadMessageItem&path=&exvsurl=1"
$returnURL
}
Add-Type -AssemblyName System.Windows.Forms
[System.Windows.Forms.Application]::EnableVisualStyles()
$Form = New-Object system.Windows.Forms.Form
$Form.ClientSize = '735,80'
$Form.text = "O365 URL Convertor"
$Form.TopMost = $true
$TextBox1 = New-Object system.Windows.Forms.TextBox
$TextBox1.multiline = $false
$TextBox1.width = 446
$TextBox1.height = 20
$TextBox1.location = New-Object System.Drawing.Point(150,5)
$TextBox1.Font = 'Microsoft Sans Serif,10'
$Label1 = New-Object system.Windows.Forms.Label
$Label1.text = "Insert URL"
$Label1.AutoSize = $true
$Label1.width = 25
$Label1.height = 10
$Label1.location = New-Object System.Drawing.Point(21,12)
$Label1.Font = 'Microsoft Sans Serif,10'
$Label2 = New-Object system.Windows.Forms.Label
$Label2.text = "Returned URL"
$Label2.AutoSize = $true
$Label2.width = 25
$Label2.height = 10
$Label2.location = New-Object System.Drawing.Point(21,38)
$Label2.Font = 'Microsoft Sans Serif,10'
$TextBox2 = New-Object system.Windows.Forms.TextBox
$TextBox2.multiline = $false
$TextBox2.width = 446
$TextBox2.height = 20
$TextBox2.location = New-Object System.Drawing.Point(150,34)
$TextBox2.Font = 'Microsoft Sans Serif,10'
$Button1 = New-Object system.Windows.Forms.Button
$Button1.text = "Convert"
$Button1.width = 100
$Button1.height = 30
$Button1.location = New-Object System.Drawing.Point(619,9)
$Button1.Font = 'Microsoft Sans Serif,10'
$Form.controls.AddRange(@($TextBox1,$Label1,$Label2,$TextBox2,$Button1))
$Button1.Add_Click({$TextBox2.Text = Convert-URL -O365_URL $TextBox1.Text; $TextBox1.Text = "";})
$Form.ShowDialog()
解决方案 2 - Office 365 Graph API
属性“Weblink”是从“Get-Message”API 请求返回的。
请参阅以下显示此属性的来源:
在响应下您将看到“weblink”属性,URL 的构造与上面的解决方案相同。
https://docs.microsoft.com/en-us/graph/api/message-get?view=graph-rest-1.0&tabs=http
以下链接指向图形浏览器,您可以登录并与图形 API 交互以查看工作示例,登录后,单击左侧窗格中的“获取我的邮件”。这将在您所有电子邮件的右下角返回 API 响应,您将在此窗口中看到为每封电子邮件返回的网页链接。
https://developer.microsoft.com/en-us/graph/graph-explorer
然而,尽管上述方法手动使用不是很实用,但我还是会开始编写脚本/程序来检索 URL。
答案2
您可以通过以下方式获取电子邮件 URL:
- 右键单击电子邮件和/或主题并“创建任务”
- 切换到待办事项/任务(OWA 界面菜单左下方,复选标记图标)
- 点击任务
- 右侧信息窗格打开
- 复制文本“在 Outlook 中打开”中的链接
这是消息和/或对话的链接。我还没有专门测试过,但它至少可以让你找到你正在寻找的话题的消息。
对于高级使用来说,这可能有点麻烦,但与任务程序的随意集成就可以了。
这确实会在新选项卡中打开消息,这并不理想;但同样,它可能更多是为了记忆/跟进,而不是快速的 GTD 内容。
答案3
以下是使用 Firefox 中的书签小工具获取 CraftyB 解决方案的更简单方法:
在书签工具栏中创建新书签:
使用这个 javascript 作为 URL:
javascript:(function() {
window.open('https://outlook.office365.com/owa/?ItemID='
.concat(window.location.href.split("/id/")[1])
.concat('&exvsurl=1&viewmodel=ReadMessageItem')
)
;})()
随意命名,也可以添加关键字:
现在,无论何时您想要创建永久链接,找到相关的电子邮件(以便它在右侧窗格中可见),然后单击书签(或在 URL 栏中输入您的关键字),它将打开一个新选项卡,指向该消息的永久链接 URL。
如果对任何人都有用的话,这个变体将替换当前选项卡:
javascript:(function() {
window.location='https://outlook.office365.com/owa/?ItemID='
.concat(window.location.href.split("/id/")[1])
.concat('&exvsurl=1&viewmodel=ReadMessageItem')
;})()
答案4
一个解决方法类似于右键单击并“创建任务”选项,但可能稍微简单一些,只需标记电子邮件,然后打开 Microsoft To Do,该消息就会出现在已标记的电子邮件列表中。然后,您只需右键单击“在 Outlook 中打开”并复制链接即可。您会注意到,当您单击收件箱中的电子邮件时,URL 与地址栏中显示的 URL 不同。