如何将内联CSS样式添加到Gmail电子邮件(SES sendRawEmail)?
我使用node.js aws sdk库使用amazon SES发送HTML电子邮件。下面是我用来发送它的js脚本:如何将内联CSS样式添加到Gmail电子邮件(SES sendRawEmail)?,css,email,html-email,mime-types,amazon-ses,Css,Email,Html Email,Mime Types,Amazon Ses,我使用node.js aws sdk库使用amazon SES发送HTML电子邮件。下面是我用来发送它的js脚本: export const main: APIGatewayProxyHandler = async (event, _context) => { const success = await sendEmail() return { statusCode: 200, body: JSON.stringify({ message: 'Don
export const main: APIGatewayProxyHandler = async (event, _context) => {
const success = await sendEmail()
return {
statusCode: 200,
body: JSON.stringify({
message: 'Done!',
input: event,
}, null, 2),
};
}
const sendEmail = async () => {
const fileName = "2019-W-4.pdf";
var rawMailBody = "From: jim@bubbleflumps.com\n";
rawMailBody = rawMailBody + "To: jim@bubbleflumps.com\n";
rawMailBody = rawMailBody + "Subject: Test Subject Dueces 3\n";
rawMailBody = rawMailBody + ``
rawMailBody = rawMailBody + "MIME-Version: 1.0\n";
rawMailBody = rawMailBody + "Content-Type: multipart/mixed; boundary=\"NextPart\"\n\n";
rawMailBody = rawMailBody + "--NextPart\n";
rawMailBody = rawMailBody + "Content-Type: text/html;\n";
rawMailBody = rawMailBody + "Content-Transfer-Encoding: quoted-printable\n";
rawMailBody = rawMailBody + "\n";
const emailData = await getEmailData();
rawMailBody = rawMailBody + emailData;
console.log('final body', rawMailBody)
const params = {
RawMessage: {
Data: rawMailBody
},
Destinations: [],
Source: 'jim@bubbleflumps.com'
};
ses.sendRawEmail(params, function (err, data) {
if (err) console.log("Error: " + err);
else {
console.log("Success call: ", JSON.stringify(data));
return data
}
});
}
const getEmailData = () => {
return new Promise( (resolve, reject) => {
var output = '\n';
var readerStream = readline.createInterface({
input: require('fs').createReadStream('./simple.html')
});
readerStream.on('line', function (line) {
const newLine = line;
output = output + newLine;
console.log('reading...', line)
});
readerStream.on('close', () => {
console.log('closing...' , output)
output = output + "\n";
resolve(output);
});
})
}
下面是我正在阅读并插入电子邮件的“simple.html”文件:
<html>
<body>
<table style="background-color: #737373; color: orange;">
<tr>
<td style="background-color: #737373; color: orange;">
<span style="background-color: #737373; color: orange">
Hello!
Hello2!
</span>
</th>
<h2>More cool Stuff!</h1>
<pre>some pre text...!</pre>
<p>Please see the attached file for a list of customers to contact.</p>
<h1>Yaaaaa!</h1>
</td>
</tr>
</table>
</body>
</html>
你好
你好!
更酷的东西!
一些预文本。。。!
有关要联系的客户列表,请参见附件
哎呀!
正如你所看到的,我正在尝试将文本“Hello”和“Hello2!”的样式设置为灰色背景和橙色。然而,这是我在gmail中看到的:
它是以HTML的形式出现的,但由于某种原因,我无法获得任何应用的样式。在看过其他帖子后,每个人都说使用内联样式应该有效,但我使用的是内联样式
有人能帮我指出我做错了什么吗
谢谢 您的代码有一些问题:
背景色和颜色
h2
打开,而h1
关闭
你好
你好!
更酷的东西!
一些预文本。。。!
有关要联系的客户列表,请参见附件
哎呀!
您的代码有一些问题:
背景色和颜色
h2
打开,而h1
关闭
你好
你好!
更酷的东西!
一些预文本。。。!
有关要联系的客户列表,请参见附件
哎呀!
随着@Syfer对正确html的回答的更正,我简单地删除了a在内容传输编码:quoted printable\n
中添加到rawMailBody
的那一行,它成功了 除了@Syfer对正确html的回答所作的更正外,我还简单地删除了a在内容传输编码:quoted printable\n
中添加到rawMailBody
的那一行,它成功了 谢谢,但是即使有了这个修正,电子邮件也完全没有样式…刚刚测试了我的答案中的代码,看起来是这样的:有趣。。。对我来说,它仍然像是纯文本。也许我需要在gmail中翻页一些设置?如果你收到纯文本,请检查发送电子邮件的代码。mime类型可能会导致问题。另外,请查看Gmail上的show original
,看看Gmail收到了什么。谢谢,但即使有了此修复,电子邮件也完全没有样式…刚刚测试了我的答案中的代码,它看起来是这样的:有趣。。。对我来说,它仍然像是纯文本。也许我需要在gmail中翻页一些设置?如果你收到纯文本,请检查发送电子邮件的代码。mime类型可能会导致问题。同时检查Gmail上的show original
,查看Gmail接收到的内容。