打开新的Outlook邮件窗口,避免过长的mailTo链接,*.eml文件的bcc字段未加载。

7
我可以帮助您进行翻译。以下是您需要的内容:

我正在尝试使用 Microsoft Outlook 2010 打开一个 *.eml 文件,但在 bcc 栏中遇到了问题。

这是我的 eml 文件:

To: example@domain.com
Subject: Mail Subject
cc: cc@domain.com
bcc: bcc@domain.com
Content-Type: text/plain
MIME-Version: 1.0
X-Unsent: 1

Mail content

当我使用Outlook打开这个eml文件时,除了字段之外,所有条目都正常工作。如何使字段正常工作? 编辑 基本上,我想要网页上mailto链接的相同行为。用户应该单击链接,然后默认的邮件程序(在使用软件的办公室中为Outlook)应该打开。mailto链接很好用,直到链接不再长于大约2000个字符为止。在我的情况下,我需要传递给Outlook的信息比2000个字符长得多,所以我尝试生成一个*.eml文件,但效果并不如预期。
所以我需要:
- 与mailto链接类似的链接 - 必须使用超过2000个字符 - 必须在Google Chrome和Outlook 2010中运行
我拥有:
- PHP - 使用jQuery的JavaScript

浏览器对URL长度有限制。 - epascarello
3个回答

4

对于您的编辑,您可以使用以下方式中的表单:

<form name="mailform" action="mailto:youremail@domain.com">
    <input type="hidden" name="bcc" value="youremailBCC@domain.com">
    <input type="hidden" name="Subject" value="Email subject">
    <input type="hidden" name="Body" value="A Big body ">
</form>
<a href="#" onclick="document.mailform.submit()">send email</a>

我在Ubuntu机器上使用过此功能,将Thunderbird和Gmail web作为默认邮件客户端,Google Chrome和Firefox作为浏览器均可正常工作。但我不知道outlook是否支持,您需要自行测试。请注意,mailto链接通常取决于用户的计算机。


谢谢您提供的想法,但对我来说不起作用。当我使用一个很长的mailto链接时,我遇到了与此相同的问题。实际上,这个表单使用JavaScript生成这样的链接,并将其传递给Outlook。我认为Outlook是问题所在,而不是浏览器或HTML / JS代码。 - JaGo
mailto URL模式由于GET限制而被限制在约2000个字符。 - Ole K

2

我找到了解决我的问题的方法。

邮件链接仍然太长,*.eml文件也无法使用。但是可以生成一个*.vbs文件(Visual Basic Script),它将打开一个新的Outlook电子邮件发送表单,并提供我需要的所有字段和非常长的正文(已测试超过50000个字符)。以下是这样一个*.vbs文件的示例代码:

'Create an Outlook application object 
Set objoutlookApp = CreateObject("Outlook.Application") 

'Create Message 
Set objmessage = objoutlookApp.CreateItem(olMailItem) 
objmessage.TO = "mail1@domain.com;mail2@example.de"
objmessage.CC = "cc1@x.com;cc2@y.de"
objmessage.BCC = "bcc@domain.com"
objmessage.Subject = "E-Mail Subject"
objmessage.Body = "Here comes some text, followed by a newLine" & vbNewLine _
& "and here is a second Line with some special characters like the paragraph: " & chr(167) & ", a german umlaut: " & chr(228) & " or some quotes: "". Hope this will help!"
objmessage.display

set objmessage = Nothing
set objoutlookApp = Nothing

wscript.quit

这非常有用,直到你意识到你需要UTF-8支持。 - Tomas M

0

你的问题可能不在你的eml文件中。我已经在我的OSX机器上测试了你的文件,bcc在邮件应用程序中显示。

然而:bcc默认情况下不会在Outlook中显示,所以现在你可能有两种情况:

  1. bcc没有显示,但可能是从你的eml文件中设置的,如果这不是问题:成功!
  2. 由于bcc没有显示,Outlook可能没有设置它。在这种情况下,你必须让每个人默认启用bcc显示。(走过所有桌面,询问管理员,...)如果你不被允许要求这个更改,这可能是一个阻碍。

我已经尝试在我的桌面上设置Outlook客户端,以便显示密送字段。但是在打开eml文件后,它仍然为空。 - JaGo
1
嗯,在这种情况下,可能只是没有解决方案。我读过一些实现不保存BCC头的文章,因为它们是隐藏的,否则仍会显示给所有收件人。这可能是这样做的副作用。 - Simon Groenewolt

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