php mail函数调用本地,如何在PHP mail()函数中包含对文件的调用

这篇博客讨论了如何在PHP中使用file_get_contents函数从email.html模板文件中获取内容,并将其插入到电子邮件的主体中。通过使用file_exists检查模板文件是否存在,可以避免潜在错误。还介绍了一个for循环来替换模板中的占位符,使得代码更易于维护。此外,文章提到了如何设置邮件头和使用mail函数发送邮件。
摘要由CSDN通过智能技术生成

我有以下发送电子邮件的功能:

function send_email($email){

$subject = "TITLE";

$message = "HERE IS THE MESSAGE";

// Always set content-type when sending HTML email

$headers = "MIME-Version: 1.0" . "\r\n";

$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";

// More headers

$headers .= 'From: ' . "\r\n";

mail($email,$subject,$message,$headers);

}

而不是$message是一个字符串,我想调用包含我的模板的文件email.html.

我添加了这个:

require 'email.html';

但是我怎么能在文件中调用呢?

$message = [在这里调用email.html]

解决方法:

当您想要在另一个php文件中调用函数时,或者想要在HTTP响应中包含一些数据时,使用Require.

对于此问题,file_get_contents(’email.html’)是首选选项.这将是我将使用的方法:

function send_email($email){

$subject = "Subject of your email";

$message = "";

if(file_exists("email_template.html")){

$message = file_get_contents('email_template.html');

$parts_to_mod = array("part1", "part2");

$replace_with = array($value1, $value2);

for($i=0; $i

$message = str_replace($parts_to_mod[$i], $replace_with[$i], $message);

}

}else{

$message = "Some Default Message";

/* this likely won't ever be called, but it's good to have error handling */

}

// Always set content-type when sending HTML email

$headers = "MIME-Version: 1.0" . "\r\n";

$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";

// More headers

$headers .= 'From: ' . "\r\n";

$headers .= "To: \r\n";

$header .= "Reply-To: doNotReply@myDomain.com\r\n";

mail($email,$subject,$message,$headers);

}

我稍微修改了你的代码并添加到file_get_contents和file_exists中. file_exists确认文件在那里.如果不是,它可以避免尝试读取它的潜在错误,并可以更改为使用某些默认值.我的下一个补充是for循环.在$parts_to_mod数组中,输入需要替换的模板的默认值.在$replace_with数组中,输入要替换模板部分的唯一值.

作为我使用它的一个例子,我有一个我的程序的模板URL,其中id = IDENTIFIER& hash = THEHASH所以在我的程序中,我的parts_to_mod说$parts_to_mod = array(“IDENTIFIER”,“THEHASH”);我的replace_with说$replace_with = array($theUsersIdentifier,$theUsersHash);.然后它进入for循环,并将parts_to_modify中的值替换为replace_with中的值.

简单的概念,它们使您的代码更短,更容易维护.

编辑:

以下是一些示例代码:

让我们说模板是:

Dear PUTNAMEHERE,

PUTMESSAGEHERE
Sincerely,
PUTSENDERHERE

所以,在你的PHP代码中你会说:

$parts_to_mod = array("PUTNAMEHERE", "PUTMESSAGEHERE", "PUTSENDERHERE");

$replace_with = array($name, $theBodyOfYourEmail, $whoYouAre);

标签:php,email

来源: https://codeday.me/bug/20190728/1563141.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值