将HTML代码发送到gmail

时间:2015-05-30 10:49:43

标签: javascript jquery html email gmail

我正在编写此代码,以便当有人想使用Gmail发送电子邮件时,他们可以使用链接模板并准备自动电子邮件,因此功能如下:

            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 个答案:

答案 0 :(得分:1)

基本上,答案没有

规则1:安全性

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

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

用htmlspecialchars($字符串);

我确信gmail会做类似这个功能的事情。

如果您使用包含以下代码的网址发送邮件,则该网站基本上遭到黑客攻击或被黑客攻击......

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

此代码可以像......一样运行。

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

或替换“&lt;”和“&gt;”使用html实体代码

这就是不可能的原因。

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