在Gmail中撰写邮件的URL(包括完整的Gmail界面和指定的收件人、密送、主题等)。

125
我找到了一个帖子,其中提供了一个打开仅包含撰写邮件窗口的链接示例。然而,我希望它能打开一个带有完整的Gmail界面,但是可以立即撰写新邮件的窗口。
当然,这是有效的:

https://mail.google.com/mail/u/0/#compose

但是,我还想添加一个主题、收件人、密送等。我尝试了类似下面的方法,但是没有成功:

https://mail.google.com/mail/?to=inbox@example.com&bcc=admin@example.com&subject=Hey#compose

有什么想法吗?谢谢。

下面回答中的URL似乎无法使用,你找到实现的方法了吗? - alkar
有没有办法通过URL打开邮件窗口,就像是回复或转发一样?这样用户就可以直接转发或回复电子邮件了。 - Kartik Domadiya
@Kartik,我在这里创建了一个类似的问题here。不幸的是,还没有答案。你知道如何实现吗? - Daniel Marín
13个回答

213

1
谷歌应用的版本怎么样?有什么想法吗? - cronoklee
4
你知道如何设置“from”参数吗?我在Gmail中有几个可供选择的帐户,当发送邮件时可以从中选择...我想通过URL参数设置一个所需的帐户。 - DS_web_developer
6
@cronoklee 我知道这已经过时了,但或许有人还会用到它... 对于谷歌应用,请使用http://mail.google.com/a/domain.com/mail?view=cm... - apprenticeDev
1
我希望能够找到一种方式,让它可以自动发送。我经常给自己发送电子邮件,而且我只想在不必点击“发送”按钮的情况下就把它们发送出去。 - Deane
2
有人知道是否可以在URL中附加文件或包含文件吗? - Deleted
显示剩余22条评论

32

收藏这个链接应该会给你一个全屏的撰写窗口,没有任何干扰:

https://mail.google.com/mail/?view=cm&fs=1&tf=1

另外,如果你想要更好的兼容性(例如看到其他问题中的链接已经不能工作了),你可以收藏以下链接:

mailto:

它将打开您的默认电子邮件客户端,您可能已经为此目的配置了Gmail。


1
完美的时候,当你想要发送一个快速消息而不必开始查看你的收件箱! - volodymyr
1
非常感谢!这正是我一直在寻找的:一个无干扰的发送电子邮件方式 - 只看收件箱会让你陷入其中。希望我能多次点赞! - GraehamF
1
mailto: 链接非常有用! - nealmcb
太好了。我成功地将一个快捷方式添加到我的任务栏,它可以打开这个应用程序,并且运行得非常好。 "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --app="https://mail.google.com/mail/?view=cm&fs=1&tf=1" - IMTheNachoMan

31

我想汇总几个好的答案和评论,提供一些额外的信息。先看例子,下面是术语背景和解释。

注意:如果没有匹配项,所有链接将回到默认帐户

简单的组成链接

在右下方打开一个带有组成窗口的收件箱

  • 默认帐户:
    https://mail.google.com/mail/#compose
  • 按索引指定特定帐户(此示例中为第二个):
    https://mail.google.com/mail/u/1/#compose
  • 按电子邮件地址指定特定帐户(此示例中为lee@example.org):
    https://mail.google.com/mail/u/lee@example.org/#compose
  • 来自特定域的任何帐户(此示例中为example.edu):
    https://mail.google.com/a/example.edu/mail/#compose
  • 来自特定委派邮箱(此示例中为id abcd1234efgh5678):
    https://mail.google.com/mail/d/abcd1234efgh5678/#compose
  • 来自属于非默认帐户的特定委派邮箱(此示例中为id 1234efgh5678ijkl,第四个用户):
    https://mail.google.com/mail/u/3/d/1234efgh5678ijkl/#compose

以上每个示例将自动从#compose重定向到#inbox?compose=new。您可以使用任何一个URL。

自定义组成链接

通过直接打开“撰写邮件”(cm)视图,包括收件人地址、主题、正文、抄送和密送。甚至在没有fs=1参数的情况下,这也会全屏显示组成消息视图。可能在URL中遇到一些特殊字符。

  • 默认账户:
    https://mail.google.com/mail/?view=cm&to=morgan@example.com&su=SUBJECT&body=BODY&bcc=dakota@example.com
  • 通过索引指定特定账户(此示例中为第二个):
    https://mail.google.com/mail/u/1/?view=cm&to=morgan@example.com&su=SUBJECT&body=BODY&bcc=dakota@example.com
  • 通过电子邮件地址指定特定账户(此示例中为lee@example.org):
    https://mail.google.com/mail/u/lee@example.org/?view=cm&to=morgan@example.com&su=SUBJECT&body=BODY&bcc=dakota@example.com
  • 来自特定域的任何账户(此示例中为example.edu):
    https://mail.google.com/a/example.edu/mail/?view=cm&to=morgan@example.com&su=SUBJECT&body=BODY&bcc=dakota@example.com
  • 来自特定委派邮箱(此示例中id为abcd1234efgh5678):
    https://mail.google.com/mail/d/abcd1234efgh5678/?view=cm&to=morgan@example.com&su=SUBJECT&body=BODY&bcc=dakota@example.com
  • 来自属于非默认账户的特定委派邮箱(此示例中id为1234efgh5678ijkl,第四位用户):
    https://mail.google.com/mail/u/3/d/1234efgh5678ijkl/?view=cm&to=morgan@example.com&su=SUBJECT&body=BODY&bcc=dakota@example.com

复杂的撰写链接

您可以将任何可以放在 mailto: 链接中的内容传递给 Gmail。您需要先URL编码* mailto 链接。这会处理重音字母和其他 URL 可能无法识别的特殊字符:

mailto:morgan@example.com?subject=SUBJECT&body=BODY&bcc=dakota@example.com
  v  v  v  v  v  v 
mailto%3Amorgan%40example.com%3Fsubject%3DSUBJECT%26body%3DBODY%26bcc%3Ddakota%40example.com
  • 默认账户:
    https://mail.google.com/mail/?extsrc=mailto&url=mailto%3Amorgan%40example.com%3Fsubject%3DSUBJECT%26body%3DBODY%26bcc%3Ddakota%40example.com
  • 按索引指定的特定帐户(此示例中为第二个):
    https://mail.google.com/mail/u/1/?extsrc=mailto&url=mailto%3Amorgan%40example.com%3Fsubject%3DSUBJECT%26body%3DBODY%26bcc%3Ddakota%40example.com
  • 按电子邮件地址指定的特定帐户(此示例中为lee@example.org):
    https://mail.google.com/mail/u/lee@example.org/?extsrc=mailto&url=mailto%3Amorgan%40example.com%3Fsubject%3DSUBJECT%26body%3DBODY%26bcc%3Ddakota%40example.com
  • 来自特定域名的任何帐户(此示例中为example.edu):
    https://mail.google.com/a/example.edu/mail/?extsrc=mailto&url=mailto%3Amorgan%40example.com%3Fsubject%3DSUBJECT%26body%3DBODY%26bcc%3Ddakota%40example.com
  • 来自特定委派邮箱(此示例中的id为abcd1234efgh5678):
    https://mail.google.com/mail/d/abcd1234efgh5678/?extsrc=mailto&url=mailto%3Amorgan%40example.com%3Fsubject%3DSUBJECT%26body%3DBODY%26bcc%3Ddakota%40example.com
  • 来自属于非默认帐户的特定委派邮箱(此示例中的id为1234efgh5678ijkl,第四个用户):
    https://mail.google.com/mail/u/3/d/1234efgh5678ijkl/?extsrc=mailto&url=mailto%3Amorgan%40example.com%3Fsubject%3DSUBJECT%26body%3DBODY%26bcc%3Ddakota%40example.com

*有关URL编码/百分比编码的更多信息请参见维基百科。撰写本文时,urlencoder.io允许您在线进行编码,并提供了如何使用几种常见语言进行URL编码的博客文章链接。

背景和定义

  • 您可以登录多个 Gmail 和/或 Google Workspace 帐户。
  • 在新浏览器中首次登录的帐户将成为您的默认帐户
  • 如果您使用不同的浏览器或浏览器配置文件,则默认帐户可能会有所变化。如果您注销、删除所有账户并以不同顺序重新登录,它也会发生变化。
  • 如果您登录多个帐户,它们将按登录顺序进行索引。 默认帐户的索引值为零。当您同时登录多个帐户时,通常会重定向到您的默认帐户 (索引零):https://mail.google.com/mail/u/0/#inbox
  • 您可以通过在/mail之前插入/a/<domain>来指定 Google Workspace 域名 (而用户索引/u/<index>则在/mail之后输入)。当您在公司内部提供链接且希望该链接用于撰写新邮件时,这非常有用 (无论他们使用什么顺序登录其各种帐户)。
  • 仅当您知道委派 ID 和具有委派权限的帐户的用户索引 (如果不是默认帐户) 时,才可以从委派邮箱中撰写邮件
    https://mail.google.com/mail/d/ALGkd7w86mZOVigdDwK63uDpfMPlA2GJN7qSc4P7idKz7ffqTN0L/#compose
    https://mail.google.com/mail/u/0/d/ALGkd7w86mZOVigdDwK63uDpfMPlA2GJN7qSc4P7idKz7ffqTN0L/#compose 或者,对于用户号为 4,
    https://mail.google.com/mail/u/3/d/ALGkd7w86mZOVigdDwK63uDpfMPlA2GJN7qSc4P7idKz7ffqTN0L/#compose

嗨,马修, 感谢您提供详细的指南!我在我的 Google Workspace 帐户中有几个“发送至”地址。您知道是否可以通过 URL 定义发件人地址吗?我尝试在 URL 中添加 &from=myspecificaddress@example.com,但没有成功。 - Kev
我能看出来这对@Kev内部工具很有用,但我不认为这是可能的。根据https://dev59.com/xGox5IYBdhLWcg3wLhUA#9383777的说法,你不能这样做,他们指出这对于标准用例(公共网站上的mailto链接)没有太多意义。 - Matthew
@Matthew 如果我知道电子邮件ID和线程ID,是否可以打开已发送文件夹中的电子邮件?只是打开电子邮件而不是整个线程,如果电子邮件已被回复。 - Nyuokimi
@Nyuokimi 我不确定你是否可以使用GUI完成这个操作。也许这取决于你的线程设置,但对我来说,查看我发送的回复的唯一方法是在线程会话视图中。将其从线程中移出的唯一方法是“显示原始内容”(并查看它的所有标头)。如果您想发布一个新问题并在此处共享链接,我很乐意尝试深入挖掘一下。 - Matthew
@Matthew 这是问题的链接 https://stackoverflow.com/questions/72182265/how-to-open-specific-email-without-whole-thread-in-gmail - Nyuokimi
类似这样的东西是可能的吗?可以使用Gmail URL参数搜索使用Message ID的邮件消息吗? - user16731842

13

GMail 网页客户端支持 mailto: 链接。

对于常规的 @gmail.com 帐户: https://mail.google.com/mail/?extsrc=mailto&url=...

对于在域名为 gsuitedomain.com 的 G Suite 帐户: https://mail.google.com/a/gsuitedomain.com/mail/?extsrc=mailto&url=...

... 需要替换为一个 urlencodedmailto: 链接。

演示: https://mail.google.com/mail/?extsrc=mailto&url=mailto%3A%3Fto%3Dsomeguy%40gmail.com%26bcc%3Dmyattorney%40gmail.com%2Cbuzzfeed%40gmail.com%26subject%3DHi%2520There%26body%3Dbody%2520goes%2520here

阅读 RFC6068 了解更多关于 mailto: 链接的内容


1
感谢您提供了一个来源,而且还是一个RFC!但我发现Gmail和RFC有一个不同之处:Gmail使用su=,而RFC使用subject=。除此之外,它们看起来完全一样。RFC 2368也非常有用。 - HoldOffHunger

12

值得注意的是,如果您有多个Gmail帐户,则可能希望使用URL方法,因为您可以自定义要从哪个帐户撰写。

例如:

https://mail.google.com/mail/u/0/#inbox?compose=new   
https://mail.google.com/mail/u/1/#inbox?compose=new

或者,如果您知道您正在发送邮件的电子邮件地址,请用该电子邮件地址替换数字索引:

https://mail.google.com/mail/u/your@email.com/#inbox?compose=new

1
有没有什么办法可以避免这取决于您登录每个帐户的顺序这一事实? - Matt
7
可以使用https://mail.google.com/mail/u/你的邮箱地址/#inbox?compose=new代替数字索引。 - Eivind Eklund
1
如何添加收件人电子邮件地址?compose=new&to=blahblah@gmail不能正常工作。 - Dee

8

1
链接能够正常快速工作,但不像 OP 所请求的那样能够通过 URL 预填 BCC 和 CC。此外,如果能够使用常规 HTML 输入类型的文件附件,将会使其更加出色。 - IsmailS

6

对于Chrome浏览器:

  1. 将您的电子邮件管理器设置为Gmail。

gmail handler

  1. 在地址栏中输入mailto:并按回车键。

更简单的方法:

  1. 编辑搜索引擎:

Edit search engines

Edit search engines

  1. 在地址栏中输入mt并按回车键。

1
不错的技巧!那是一个有趣的方法。 - Jesse

4

其他人在这里已经给出了基本答案,特别是Tobias Mühl。如上所述,Gmail的Api非常接近RFC2368RFC6068所定义的规范。这适用于mailto:链接的扩展形式,也适用于其他回答中常用的形式。在五个参数中,有四个是相同的(例如toccbccbody),只有一个稍作修改(su是gmail版本的subject)。

如果您想了解有关使用mailTo gmail URLs的更多信息,则这些RFC可能会有所帮助。不幸的是,Google自己并没有发布任何源代码。

澄清一下这些参数:

  • to - 邮件收件人
  • su (gmail API) / subject (mailTo API) - 邮件主题
  • body - 邮件正文
  • bcc - 邮件密送地址
  • cc - 邮件抄送地址

有没有可用的参数设置“寄件人”的地址?我已经将我的官方邮件与Gmail连接了。 - A.Aleem11

0

其他答案似乎都没有解决原问题,原问题明确要求“完整的Gmail界面”。我认为这意味着想要在窗口中打开一个预填充的撰写邮件,而不是全屏界面。

您无法在窗口界面中预填字段,只能在全屏界面中预填。

窗口界面仅允许您自定义将用于发送电子邮件的帐户,而全屏界面允许您发送5个mailto参数(例如“to”,“body”等):

https://mail.google.com/mail/u/0/?tf=cm&to=to@example.com&cc=cc@example.com,cc2@example.com&bcc=bcc@example.com&su=subject+here&body=line1%0Aline2

请参考这个答案,里面有很多例子。


0

如果您正在设置Linux中的默认电子邮件程序,请创建此默认脚本将Gmail设置为默认值。我们称其为new-email.sh(您可以选择自己的)。在系统中的任何位置创建此脚本并使其可执行。chmod 700 new-email.sh使用您选择的Web浏览器替换firefox。然后在Linux系统设置中选择该脚本(new-email.sh)作为您的默认电子邮件程序。传递的参数将自动转换为mailto链接。正文也会自动填充-在此处进行了测试:https://www.scottseverance.us/mailto.html

#!/bin/bash
ARGS=`echo $1 |  sed -E 's/(mailto:)([^?]+)([?])(.*$)/\2\&\4/g'|sed "s/subject=/su=/g"`
firefox "https://mail.google.com/mail/?view=cm&to=$ARGS"
                                                     

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接