脚本桥接添加收件人邮件时增加不必要的HTML代码(Scripting Bridge adds unw

2019-10-31 20:00发布

好了,这个人是有点怪....

我在Safari中的HTML页面,我想作为发送电子邮件。 如果我去的文件菜单并选择“此页的邮件内容”,它传输的预期,看起来是正确的。

不过,如果我使用脚本桥收件人添加到传出消息,其添加以下代码以增加每个收件人的邮件内容区域的顶部。 在一个实例中,具有24个接收者加入,所得到的电子邮件包含以下代码的24次顺序重复:

<div style=3D"font-family: = Helvetica; font-size: 12px; color: black; text-align: left;">
<br =class=3D"webkit-block-placeholder"></div>

这是因为div标签被呈现的方式,在邮件的开头创建24个换行符,使我的HTML进一步向下开始页面。

任何人都知道为什么这个代码是越来越插入?

下面是我使用脚本桥接的代码:

SafariDocument *safariDoc = [[[[safari classForScriptingClass:@"document"] alloc]
initWithProperties:[NSDictionary dictionaryWithObject:@"//private/var/tmp/mail.html" forKey: @"URL"]] autorelease];
    [[safari documents] addObject:safariDoc];

SafariWindow *safariWindow = [[safari windows] objectAtIndex:0];
        [safariWindow emailContentsOf:safariWindow.currentTab];
        mailMessage = [[[mail outgoingMessages] objectAtIndex:0] autorelease];

下面是我用它来添加收件人的代码:

MailToRecipient *recipient = [[[[mail classForScriptingClass:@"to recipient"] alloc] 
                                   initWithProperties:[NSDictionary dictionaryWithObjectsAndKeys:
                                                       [preferencesData bandName], @"name",
                                                       [preferencesData bandEmail], @"address",
                                                       nil]] autorelease];
    [[mailMessage toRecipients] addObject:recipient];

*编辑*

我已经找到了问题的一个解决办法,但我仍然有兴趣知道为什么这个代码是越来越插入身体时,我添加收件人...周围的工作如下:我插入以下到CSS节我的HTML模板...

div {
display:none;
}

因此,显示器忽略所有的HTML模板的div标签。 我仍然有上面的代码拷贝24,但他们基本上忽略它解决了我的视觉布局的问题。

如果任何人有一个更好的解决方案,请让我知道!

Answer 1:

看来,苹果不允许你访问你不“拥有”或从你的程序中创建的外发邮件消息。

在上面的代码中,我努力工作不会让你具有Safari浏览器“网页的电子邮件内容”设置您的发送电子邮件到HTML(别的东西他们不喜欢你这样做)的周围苹果的限制,从而创造出新在Apple Mail传出邮件。

然后我试图通过如下赋值给一个变量的引用采取该消息的控制:

mailMessage = [[[mail outgoingMessages] objectAtIndex:0] autorelease];

研究有点透露,被MAILMESSAGE显示为“零”,即使下面的代码:

[[mail outgoingMessages] count];

返航的1正确的值。

所以从理论上讲,我不应该能够收件人添加到Safari所创建的所有HTML电子邮件。

为什么它的工作原理有时并不起作用其他时间我是无法理解。 但是,当它的工作,它也增加了格式化标签到代码的身体也是如此。 我怀疑这只是还没有被抓住,因为它不应该在所有工作中的错误。



文章来源: Scripting Bridge adds unwanted HTML code when adding recipient to mail