Я хочу, чтобы html-таблица была выделена в gmail независимо от того, есть вложение или нет.

ой фактический вывод

Это мой ожидаемый результат

когда письмо отправляется с таблицей html вместе с вложением файла (например, изображение, pdf и т. д.), формат таблицы не отображается в почте, а отображается содержимое таблицы. Но когда я проверяю почту, тело таблицы присутствует. Проблема в том, что он не отображается в табличном формате. Но когда почта отправляется с HTML-таблицей без вложений, формат таблицы отображается в почте. Как это исправить.

let user = await db.model('User').findOne({ _id: userId });
    let filepath = fs.readFileSync(req.file.path).toString('base64');
    let from = user.crmOptions.email;
    let raw = [
      'MIME-Version: 1.0\n',
      "to: ", req.body.to, "\n",
      "from: ", from, "\n",
      "cc: ", req.body.cc ? req.body.cc : '', "\n",
      "bcc: ", req.body.bcc ? req.body.bcc : '', "\n",
      "subject: ", req.body.subject ? req.body.subject : '', "\n",
      "Content-Type: multipart/mixed; boundary=boundary_mail1\n\n",

      "--boundary_mail1\n",
      "Content-Type: multipart/alternative; boundary=boundary_mail2\n\n",

      "--boundary_mail2\n",
      "Content-Type: text/html; charset=UTF-8\n",
      "Content-Transfer-Encoding: quoted-printable\n\n",
      req.body.message = req.body.message ? req.body.message : '', "\n\n",
      "--boundary_mail2--\n",

      '--boundary_mail1\n',
      `Content-Type: ${req.file.mimetype}\n`,
      `Content-Disposition: attachment; filename="${req.file.filename}"\n`,
      "Content-Transfer-Encoding: base64\n\n",

      filepath, '\n',
      '--boundary_mail1--',
    ].join('');
    const id = 'me';
    let options = {
      url: "https://www.googleapis.com/upload/gmail/v1/users/" + id + "/messages/send?uploadType=multipart",
      method: 'POST',
      headers: {
        'Authorization': `Bearer ${user.crmOptions.access_token}`,
        'Content-Type': 'message/rfc822'
      },
      body: raw
    };

await request(options).then(async body => {
  console.log("Body: ", body);
}).catch(err => {
  console.log("Error: ", err);
})

Я хочу, чтобы html-таблица была выделена в gmail независимо от того, есть вложение или нет.

Ответы на вопрос(0)

Ваш ответ на вопрос