我有一个从目录中读取html文件的脚本,你可以检查哪个文件用于php邮件正文。但主要问题是,如何读取已检查文件并将其分配给php邮件正文?
这是我的代码:
/* Languages preliminaries */
$defaultLanguage = intval(Configuration::get('PS_LANG_DEFAULT'));
$languages = Language::getLanguages();
$iso = Language::getIsoById($defaultLanguage);
$dir = dirname(__FILE__) . "/mails/". $iso . "/" ;
$files = scandir( $dir ) ;
$cnt = count($files) ;
$html = ' <a name="htmllist"></a>
<form method="post" action="'.$_SERVER['REQUEST_URI'].'" >
$html .= '<div>
<table>
<th>HTML FILES</th><th>Edit</th>
<th>Choose</th>'
;
$tokenModules = $_REQUEST['token'];
for( $i = 0; $i < $cnt; $i ++ )
{
if( preg_match('/.html$/', $files[$i]) )
{
$link = '<a href="index.php?tab=AdminModules&token=' . $tokenModules . '&configure=' . urlencode($this->name) . '&file='.$files[$i].'#emaileditor">' ;
$link .= '<img src="' . __PS_BASE_URI__ . 'img/admin/edit.gif" /></a>' ;
$html .= '<tr>
<td>'. $files[$i] . '</td>
<td align="left">'.$link.'</td>
<td><input type="checkbox" name="which[]" value="'.$files[$i].'"> Use '. $files[$i] . ' template</td>
</tr>' ;
}
}
$html .= '</table>' ;
$html .= '</div>' ;
所以在这里我可以看到我可以查看的所有文件和附近的文件名。我想我需要check array [],是吗?
但是如何获取被检查的信息?并将该文件分配给php正文?
$to = 'mymail@mail.com';
$subject = "hello";
$body = "";
$headers = 'From: info@mydomain.com' . "\r\n" ;
$headers .= 'Reply-To: info@mydomain.com' . "\r\n";
$headers .= 'BCC: ' . implode(', ', $recipients) . "\r\n";
mail($to, $subject, $body, $headers);
这是我发给funkcion的邮件。
答案 0 :(得分:0)
报价很乱,看起来应该是这样的:(注意结束语)
$html = ' <a name="htmllist"></a>
<form method="post" action="'.$_SERVER['REQUEST_URI'].'" >';
你必须开始使用一些IDE,我认为......
答案 1 :(得分:0)
此:
<input type="checkbox"/>
应该是:
<input type="radio"/>
如果您只想为电子邮件选择1个模板文件。
然后是以下代码:
<input type="radio" name="which[]" value="'.$files[$i].'">
应该是:
<input type="radio" name="which[]" value="'.$dir.$files[$i].'">
这样您就可以在该输入中拥有整个模板路径。现在,您可以使用$_POST['which']
获取模板。
稍后编辑:
要发送HTML电子邮件,请查看此https://stackoverflow.com/a/11239033/1057527