Tag: smtp

  • email的html排版

    用程序生成好一个邮件标题和内容,之后想要完美的在收件箱里接收,需要编写针对于邮件的html。

    美观可以放在第二位,但是需要让邮箱认出是html来,否则内容会以原码显示。

    在邮件headers中加入正确的Content-type和charset即可。

    email html中的布局基本是用table,css样式尽量直接写在html标签里,以下分别是用原生php和php-mail(SMTP)来发邮件。

    <?php
    
    $message='
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <title>title</title>
    </head>
    <body>
    <table>
    <tr>
    <th>three days forcast</th>
    </tr>
    </table>
    </body>
    </html>';
    
    $to = '[email protected]';
    
    $subject =send mail using php;
    $from = "[email protected]";
    $headers = "From: $from\n";
    $headers .= "Reply-To: $from\n";
    $headers .= "MIME-Version: 1.0\n";
    $headers .= "Content-type: text/html; charset=iso-8859-1";
    
    mail($to, $subject, $message,$headers);
    echo "Mail Sent.";
    
    ?>

    使用pear mail(SMTP)发送邮件

    <?php
    
    //require apt-get install php-mail, reference: http://php.net/manual/en/function.mail.php
    include("Mail.php");
    
    $message='
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <title>title</title>
    </head>
    <body>
    <table>
    <tr>
    <th>three days forcast</th>
    </tr>
    </table>
    </body>
    </html>';
    
    $to = '[email protected]';
    
    $subject =send mail using php;
    
    $headers["From"] = "[email protected]";
    $headers["TO"] = "[email protected]";
    $headers["Subject"] = "$subject";
    $headers["MIME-Version"] = "1.0";
    $headers["Content-type"] = "text/html";
    $headers["charset"] = "iso-8859-1";
    
    $params["host"] = "smtp.163.com";
    $params["port"] = "25";
    $params["auth"] = true;
    $params["username"] = "[email protected]";
    $params["password"] = "yourpassword";
    
    $mail_object = & Mail::factory("smtp", $params);
    
    $mail_object->send($to, $headers, $message);
    
    //echo $message;
    echo "Mail Sent.";
    
    ?>

    参考:http://johndoesdesign.com/blog/2012/php/getting-your-php-html-email-to-render-in-gmail/

    http://email.about.com/od/emailprogrammingtips/qt/PHP_Email_SMTP_Authentication.htm