HTML文件到php邮件正文

时间:2014-08-05 06:56:43

标签: php html email

我有一个从目录中读取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的邮件。

2 个答案:

答案 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