发送 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。
我正在编写这段代码,以便当有人想使用 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。