在shell中使用mail命令发送邮件,发送表格需要用html的格式来发送。注意在执行mail命令之前请先阅读参考文献,并按其中的说明配置好服务器配置文件。
解决:
1. 使用命令行发送邮件测试
在linux命令行执行以下代码即可发送邮件
- echo "<b><div style='color:red'>HTML Message goes here</div></b>" | mail -s "$(echo -e "This is the subject\nContent-Type: text/html")" 332800462@qq.com
2. 在php函数中使用mail方法发送时,需要指定发送的header参数
- <?php
- $to = "somebody@example.com, somebodyelse@example.com";
- $subject = "HTML email";
- $message = "
- <html>
- <head>
- <title>HTML email</title>
- </head>
- <body>
- <p>This email contains HTML Tags!</p>
- <table>
- <tr>
- <th>Firstname</th>
- <th>Lastname</th>
- </tr>
- <tr>
- <td>John</td>
- <td>Doe</td>
- </tr>
- </table>
- </body>
- </html>
- ";
- // 当发送 HTML 电子邮件时,请始终设置 content-type
- $headers = "MIME-Version: 1.0" . "\r\n";
- $headers .= "Content-type:text/html;charset=utf8" . "\r\n";
- // 更多报头
- $headers .= 'From: <webmaster@example.com>' . "\r\n";
- $headers .= 'Cc: myboss@example.com' . "\r\n";
- mail($to,$subject,$message,$headers);
- ?>
参考文献: