zoukankan      html  css  js  c++  java
  • Sina App Engine(SAE)入门教程(9)- SaeMail(邮件)使用

    <?php
    /*
    * @author lazypeople<hfutming@gmail.com>
    * @function send mail
    * @package lazypeople
    */
    function send_mail_lazypeople($to, $subject = 'Your register infomation', $body) {
        $loc_host = "SAE";        
        $smtp_acc = "你的账号地址";
        $smtp_pass="你的密码";      
        $smtp_host="SMTP地址";  
        $from="你的邮箱地址";    
        $headers = "Content-Type: text/plain; charset="utf-8"
    Content-Transfer-Encoding: base64";
        $lb="
    ";             //linebreak
           
        $hdr = explode($lb,$headers);  
       if($body) {$bdy = preg_replace("/^./","..",explode($lb,$body));}//??????Body
    
        $smtp = array(
              array("EHLO ".$loc_host.$lb,"220,250","HELO error: "),
              array("AUTH LOGIN".$lb,"334","AUTH error:"),
              array(base64_encode($smtp_acc).$lb,"334","AUTHENTIFICATION error : "),
              array(base64_encode($smtp_pass).$lb,"235","AUTHENTIFICATION error : "));
        $smtp[] = array("MAIL FROM: <".$from.">".$lb,"250","MAIL FROM error: ");
        $smtp[] = array("RCPT TO: <".$to.">".$lb,"250","RCPT TO error: ");
        $smtp[] = array("DATA".$lb,"354","DATA error: ");
        $smtp[] = array("From: ".$from.$lb,"","");
        $smtp[] = array("To: ".$to.$lb,"","");
        $smtp[] = array("Subject: ".$subject.$lb,"","");
        foreach($hdr as $h) {$smtp[] = array($h.$lb,"","");}
        $smtp[] = array($lb,"","");
        if($bdy) {foreach($bdy as $b) {$smtp[] = array(base64_encode($b.$lb).$lb,"","");}}
        $smtp[] = array(".".$lb,"250","DATA(end)error: ");
        $smtp[] = array("QUIT".$lb,"221","QUIT error: ");
        $fp = @fsockopen($smtp_host, 25);
        if (!$fp) echo "Error: Cannot conect to ".$smtp_host."
    ";
        while($result = @fgets($fp, 1024)){if(substr($result,3,1) == " ") { break; }}
       
        $result_str="";
        foreach($smtp as $req){
              @fputs($fp, $req[0]);
              if($req[1]){
                    while($result = @fgets($fp, 1024)){
                        if(substr($result,3,1) == " ") { break; }
                    };
                    if (!strstr($req[1],substr($result,0,3))){
                        $result_str.=$req[2].$result."
    ";
                    }
              }
        }
        @fclose($fp);
        return $result_str;
    }
    
    send_mail_lazypeople('377087477@qq.com','hello','hello');//测试
    ?>

     来源于http://lazy.changes.com.cn/html/352.html#toc-e69cace69599e7a88be6ba90e7a081e68993e58c85e4b88be8bdbde59cb0e59d80

  • 相关阅读:
    [C++]多源最短路径(带权有向图):【Floyd算法(动态规划法)】 VS n*Dijkstra算法(贪心算法)
    [C++]Yellow Cards
    [C++]哈夫曼树(最优满二叉树) / 哈夫曼编码(贪心算法)
    考研部分复习策略记录
    [C++/JavaScript]数据结构:栈和数列>案例引入(数制的转换)
    [C++]数据结构:线性表之(单)链表
    [C++]数据结构:线性表之顺序表
    自然语言处理(NLP)之个人小结
    NLP之TF-IDF与BM25原理探究
    [Python]Excel编程示例教程(openpyxl)
  • 原文地址:https://www.cnblogs.com/mssql8/p/4414988.html
Copyright © 2011-2022 走看看