如何通过网页按钮打开邮箱应用收件箱?mailto方案无法满足需求
解决方案
遗憾的是,没有通用的标准协议可以直接打开所有邮箱应用的收件箱——mailto:协议本身的设计就是触发邮件撰写界面,而非收件箱。不过可以根据用户常用的邮箱客户端或网页版,针对性实现:
1. 桌面端专属邮箱客户端协议
不同桌面邮箱客户端有自己的自定义协议,仅对应该软件生效:
- Outlook:使用
outlook:Inbox协议<a href="outlook:Inbox">打开Outlook收件箱</a> - Thunderbird:使用
thunderbird://inbox协议<a href="thunderbird://inbox">打开Thunderbird收件箱</a>
2. 网页版邮箱直接跳转
如果面向特定邮箱服务的用户,可以直接跳转至对应网页版的收件箱页面:
- Gmail:
<a href="https://mail.google.com/mail/u/0/#inbox" target="_blank">打开Gmail收件箱</a> - Outlook网页版:
<a href="https://outlook.live.com/mail/0/inbox" target="_blank">打开Outlook网页版收件箱</a> - QQ邮箱:
<a href="https://mail.qq.com/cgi-bin/frame_html?sid=&r=0.123456789" target="_blank">打开QQ邮箱收件箱</a>
3. 通用兼容方案
因为无法覆盖所有邮箱客户端,更稳妥的方式是做一个选择界面,让用户自行选择常用的邮箱服务或客户端,再触发对应的跳转逻辑。比如:
<div> <button onclick="window.open('https://mail.google.com/mail/u/0/#inbox')">打开Gmail</button> <button onclick="window.location.href='outlook:Inbox'">打开Outlook客户端</button> <button onclick="window.open('https://outlook.live.com/mail/0/inbox')">打开Outlook网页版</button> </div>
内容的提问来源于stack exchange,提问作者Ola
相关产品推荐
相关产品推荐

