发送 HTML 代码到 gmail

Send HTML code to gmail

我正在编写这段代码,以便当有人想使用 Gmail 发送电子邮件时,他们可以只使用 link 模板并准备好自动电子邮件,因此功能是:

            var sendGmail = function(opts){
    var str = 'http://mail.google.com/mail/?view=cm&fs=1'+
              '&to=' + opts.to +
              '&su=' + opts.subject +
              '&body=' + opts.message.replace(/\n/g,'%0A') +
              '&ui=1';
    location.href = str;
}
            sendGmail({
    to: 'somename@email.com',
    subject: 'Invice number: '+value,
    message: 'Poštovani, \n'+
            ' \n'+
             'Dostavljamo Vam račun za isporučene usluge \n'+
             'Račun je automatski generisan obradom podataka i važeći je bez pečata i potpisa \n'+
             ' \n'+
             '*račun u papirnom obliku šaljemo Vam na zahtev \n'+
             ' \n'+
             'Ovo je link na kome mozete racun skinuti u PDF formatu: http://agroagro.com/netRacuni/tcpdf/examples/pdf.php?kljuc='+data+' \n' +
' \n'+
' \n'+
' \n'+
'Srdačan pozdrav i hvala na ukazanom poverenju. \n'
});

此代码适用于纯文本电子邮件,但我如何将 HTML 发送到 gmail 以创建基于 HTML 的电子邮件模板?

这样可以吗?

我试过了:

sendGmail({
        to: 'somename@email.com',
        subject: 'Invice number: '+value,
        message: '<h1>Poštovani </h1> etc....

但这行不通。我如何将 HTML 代码发送到 gmail 以将其呈现为 HTML 而不是纯文本?

基本上没有答案

规则编号 1:安全

漏洞说明: 出于安全原因,URL 中的所有 html 都将被删除。 Google 考虑到安全性,因此 html 个实体将被删除。

php 中删除 html 个实体的函数是..

htmlspecialchars($string);

而且我确信 gmail 会执行类似此功能的操作。

如果您发送包含以下代码的 url 消息,则该网站基本上已被黑客入侵或看起来已被黑客入侵...

<script>
alert('You have been hacked');
</script>

此代码可能 运行 像....

example.com/?email=<script>alert('hacked');</script>

或用 html 实体代码替换“<”和“>”

这就是不可能的原因。

您最好的选择是使用服务器端语言。例如 php 将您的邮件发送为 html。 mail() 函数将是一个很好的起点。参考文献:http://php.net/manual/en/function.mail.php 请记住更改 header-type 以将电子邮件呈现为 html。