わかりました、これは少し奇妙です....
電子メールとして送信したい HTML ページが Safari にあります。ファイル メニューに移動し、「このページのメール コンテンツ」を選択すると、期待どおりに転送され、正しく表示されます。
ただし、Scripting Bridge を使用して送信メッセージに受信者を追加すると、追加された各受信者のメッセージ コンテンツ領域の先頭に次のコードが追加されます。1 つの例では、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 がページのさらに下で開始されるようになります。
このコードが挿入される理由を知っている人はいますか?
Scripting Bridge に使用しているコードは次のとおりです。
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 個ありますが、それらは基本的に無視され、視覚的なレイアウトの問題が解決されます。
誰かがより良い解決策を持っている場合は、私に知らせてください!