当我向用户发送电子邮件验证消息时,如何构建它看起来像这样:
如何添加链接?使用标签?和新线?
$message = 'Thanks for signing up!' - a newline afterwards...
then blablablah *link to confirmation*
我真的很感激这方面的任何帮助。
答案 0 :(得分:3)
这取决于您发送的电子邮件类型。现代电子邮件客户端支持两种类型的电子邮件:
http://
开始的字符串解释为链接。<a href="...">...</a>
。大多数电子邮件代理都很好地支持基本的HTML。默认情况下mail()
函数以原始文本发送电子邮件。这是一个小例子:
$lines = array(
"Hello!",
"Your password is ...",
"Click following link to unsubscribe:",
"http://your_site/unsubscribe?..."
);
$body = implode("\r\n", $lines); ## join lines
mail($to, $subject, $body); ## and send text email
答案 1 :(得分:1)
如果您使用纯文本电子邮件程序发送它几乎总是会将URL转换为可点击的链接。否则,您可以发送HTML电子邮件。
如何整理代码:
Smarty模板对此也很有用。您可以将变量传递给.tpl模板,因此您的电子邮件模板位于自己的文件中,只需要标记/字段。然后,PHP可以提取此内容,解析它,并将正文作为电子邮件发送。
答案 2 :(得分:0)
只需构建链接并将其添加到电子邮件正文中即可。邮件客户端指出什么是链接。或者,您可以查看完整的HTML电子邮件路径。
答案 3 :(得分:0)
你有几种选择。
1.您可以使用纯文本作为mime类型,然后将$ message var设置为:
$message = "Thank you... \n\r";
$message.= "next line... \n\r";
或使用heredoc
$message = <<<BLOCK
Thank you...
next line...
BLOCK;
我认为大多数电子邮件程序都应该转换链接。但如果你需要明确地这样做,
2.然后,您可以随时为您的电子邮件使用html mime类型,并将其作为邮件正文提供基本HTML。
答案 4 :(得分:0)
与其他人说的一样,只需发送电子邮件,让客户找出可点击的内容。
只需在邮件脚本可访问的文件夹中创建一个简单的文本文件模板,例如
Thanks for signing up
This is your login data
------------
u: [username]
p: [password]
-------------
Active your account by clicking [activation-link]
然后在您的邮件脚本中,加载此文件并str_replace()
占位符。这样,您就不必使用电子邮件消除邮件脚本,并且无需触摸脚本即可轻松维护任何更改。你也不必费心去编码换行符。
我强烈反对使用HTML邮件。接收端存在巨大的不确定性。用户可以使用无法或禁用的客户端访问其邮件以呈现HTML,因此您必须使用备用文本(多部分)发送邮件。此外,在客户端呈现HTML是一个很大的痛苦。
答案 5 :(得分:0)
要专门解决有关新行的问题,您可以采用以下几种方法:
1
$message = 'Thanks for signing up!
blablablah *link to confirmation*'
在行尾使用单引号和简单的<enter>
。
2
$message = "Thanks for signing up!\n\r
blablablah *link to confirmation*"
使用双引号,\ n \ r(这会在行尾创建新行 - 实际为line feed and a carriage return)和简单<enter>
(这完全是为了您自己的可读性。< / p>
3