zoukankan      html  css  js  c++  java
  • 配置好postfix邮件服务器之后就可以使用它来发送邮件了

    下面是一段摘自W3school关于php mail函数的栗子,经过测试发现两个问题。

    <?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" . "
    ";
    $headers .= "Content-type:text/html;charset=iso-8859-1" . "
    ";
    
    // 更多报头
    $headers .= 'From: <webmaster@example.com>' . "
    ";
    $headers .= 'Cc: myboss@example.com' . "
    ";
    
    mail($to,$subject,$message,$headers);
    ?>

    首先是 编码问题。 测试发现中文乱码,改为 utf-8即可

    第二是回车换行符的问题,经过测试发现,headers信息并没有生效,而是被原样输出了。经过谷歌找到原因将回车换行改为PHP_EOL

    // 当发送 HTML 电子邮件时,请始终设置 content-type
    $headers = "MIME-Version: 1.0" . PHP_EOL;
    $headers .= "Content-type:text/html;charset=iso-8859-1" . PHP_EOL;
    
    // 更多报头
    $headers .= 'From: <webmaster@example.com>' . PHP_EOL;
    $headers .= 'Cc: myboss@example.com' . PHP_EOL;

    其实出现这个问题是因为windows下回车换行和linux下不一致导致的,PHP有内置解决方案。这样就搞定啦~

  • 相关阅读:
    遥控器油门摇杆电位器封装尺寸图
    Microhard P900 900MHz跳频电台核心模块
    航路点
    当电桥为恒流源时惠斯通电桥电压的计算方法
    曲轴位置传感器
    16种发动机动态工作原理图,神奇的帅呆了!
    ffmpeg mediacodec 硬解初探
    ffmpeg编码常见问题排查方法
    阿里云 访问控制RAM
    WannaCry勒索病毒处理指南
  • 原文地址:https://www.cnblogs.com/aleafo/p/5462401.html
Copyright © 2011-2022 走看看