正确格式化邮件

时间:2017-09-27 11:11:49

标签: php

我正试图找出一种方法来以块构建电子邮件消息,方式是使用 $ message。= 我可以“堆叠”必要的信息需要,但无法弄清楚正确的格式。例如:

  1. 第一个 $ message = 可以/应该有etc标签吗?
  2. 可以/应该将 等标签添加到每个 $ message。= 声明吗?
  3. 如何明确地(在代码中)保持这一切,以便以后可以理解?
  4. 我的设置是创建3个if / else部分,添加信息,找不到任何内容,或者在表中找到数组。 到目前为止,我有:

    $message = echo "<strong>SYNC INFORMATION</strong><br>";
    
    //Section/table 1
    if(!trips_missing){
        $message .= echo "<strong>Missing trips: 0</strong>";   
    }else{
        $message .= "<html>
                        <head>
                        </head>
                        <body>
                            <table name='Following trips are missing'>
                                <tread>
                                    <tr>
                                        <td><strong>Start</strong></td>
                                        <td><strong>End</strong></td>
                                        <td><strong>Boat</strong></td>
                                        <td><strong>Itinerary</strong></td>
                                        <td><strong>Places</strong></td>
                                        <td><strong>USD<br></strong></td>
                                    </tr>
                                </tread>
                                <tbody>";
                                    foreach($trips_missing as $array)
                                        <tr>
                                            <td>".$array['Date']."</td>
                                            <td>".$array['End']."</td>
                                            <td>".$array['Boat'].""&nbsp;"</td>
                                            <td>".$array['Itinerary']."</td>
                                            <td align="right">".$array['Places']."</td>
                                            <td align="right">".round($array['USD']."</td>
                                        </tr>
                                    }
                                $message.="</tbody>
                            </table>
                            <br>
                        </body>
                    </html>";
    
    // Followed by 2 more if/else for section 2 and 3
    

    随意粉碎我能产生上述情绪的兴奋,如果不能杀死你,它会让你更强壮。无论如何制定,所有帮助都表示赞赏。

2 个答案:

答案 0 :(得分:0)

您需要将foreach循环更改为:

foreach($trips_missing as $array){
                                 $message .= "  <tr>
                                        <td>".$array['Date']."</td>
                                        <td>".$array['End']."</td>
                                        <td>".$array['Boat']."&nbsp;</td>
                                        <td>".$array['Itinerary']."</td>
                                        <td align='right'>".$array['Places']."</td>
                                        <td align='right'>".round($array['USD'],2)."</td>
                                    </tr>";
                                }

答案 1 :(得分:0)

经过另一个小时搜索Stack,DarkBee的答案和逻辑思考,我相信这是完整的答案。它似乎运作良好。

$message = '<html><body>';
if(!$trips_missing){
    $message .= "<p><strong>Missing trips: 0</strong></p></body></html>";   
    }
else{
    $message .= "<p><strong>Following trips are missing</strong></p>
                <table>
                    <thread>
                        <tr>
                            <td><strong>Start</strong></td>
                            <td><strong>End</strong></td>
                            <td><strong>Boat</strong></td>
                            <td><strong>Itinerary</strong></td>
                            <td><strong>Places</strong></td>
                            <td><strong>USD<br></strong></td>
                        </tr>
                    </thread>
                    <tbody>";
    foreach($trips_missing as $array){
        $message .= "
            <tr>
                <td>".$array['Date']."</td>
                <td>".$array['End']."</td>
                <td>".$array['Boat']."</td>
                <td>".$array['Itinerary']."</td>
                <td align='right'>".$array['Places']."&nbsp;</td>
                <td align='right'>".round($array['USD'],2)."</td>
            </tr>";
    };
    $message .="</tbody></table></body></html>";

};

所以它似乎是最终的结构。 ..应该在$ message中按顺序排列。也许它有助于像我这样的另一个简单的灵魂......