我正在编写此代码,以便当某人想要使用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: '[email protected]',
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: '[email protected]',
subject: 'Invice number: '+value,
message: '<h1>Poštovani </h1> etc....
但这是行不通的。如何将HTML代码发送到gmail以将其呈现为HTML而不是纯文本?
基本上,答案没有
规则编号1:安全性
漏洞解释:出于安全原因,URL中的所有html都将被删除。Google考虑到安全性,因此将删除html实体。
php中删除html实体的函数是..
htmlspecialchars($ string);
而且我敢肯定gmail将执行与此功能相似的操作。
如果您使用包含以下代码的网址发送消息,则该网站实际上已被黑或被黑...
<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请记住更改标头类型以将电子邮件呈现为html。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句