Php 使用Smarty模板发送电子邮件

Php 使用Smarty模板发送电子邮件,php,mysql,smarty,Php,Mysql,Smarty,我有一个名为Template的表,我将消息设置为通过邮件发送,我需要输入php变量 我的问题是:从表中检索邮件后,我是否可以使用Smarty编辑HTML代码中的邮件 例如,我有: $message = getMsgFromTable(Template); $message具有包含php变量的文本类型。我可以用Smarty像这样填充这个变量吗 $message = setVariableValueBySmarty($message); Smarty可以获取模板并返回其输出,而不是显示它。 fe

我有一个名为Template的表,我将消息设置为通过邮件发送,我需要输入php变量

我的问题是:从表中检索邮件后,我是否可以使用Smarty编辑HTML代码中的邮件

例如,我有:

$message = getMsgFromTable(Template);
$message具有包含php变量的文本类型。我可以用Smarty像这样填充这个变量吗

$message = setVariableValueBySmarty($message);

Smarty可以获取模板并返回其输出,而不是显示它。 fetch方法可以做到这一点,这正是您所需要的:

文档中还有一段告诉您如何使用它发送邮件:

如果需要从存储为字符串的数据库创建模板,请查看以下内容:

见@lorenzo-s和:


如果数据库存储的模板包含格式为或类似形式的PHP变量,则无所谓,您可能希望使用a转换为{$foo},以便可以使用Smarty的assign方法用数据填充模板。

非常感谢lorenzo-s;对不起,我想我可以接受不止一个答案;当您决定哪个答案对您最有帮助时,单击答案左侧的复选框大纲,将其标记为已接受的答案。从Ok:p开始,我使用以下代码:$smarty->assign'foo','value'$模板_字符串='display{$foo}here'$smarty->显示“字符串:”。$template\u字符串;那么我如何才能得到结果:s!!这是真的:$message=$smarty->display'string:'。$template\u string@是的,我想这是对的。使用Assign一如既往地使用Smarty分配所有变量,然后从数据库加载模板并将其分配给$template\u string,最后使用$message=$Smarty->display'string:。$template\u string;。