Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将内联CSS样式添加到Gmail电子邮件(SES sendRawEmail)?_Css_Email_Html Email_Mime Types_Amazon Ses - Fatal编程技术网

如何将内联CSS样式添加到Gmail电子邮件(SES sendRawEmail)?

如何将内联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

我使用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: '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接收到的内容。