⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 phpmailer_test.php

📁 PHPMailer Full Featured Email Transfer Class for PHP
💻 PHP
📖 第 1 页 / 共 2 页
字号:
<?php/*******************  Unit Test  Type: phpmailer class********************/$INCLUDE_DIR = "";require("phpunit.php");require($INCLUDE_DIR . "class.phpmailer.php");error_reporting(E_ALL);/** * Performs authentication tests */class phpmailerTest extends TestCase{    /**     * Holds the default phpmailer instance.     * @private     * @type object     */    var $Mail = false;    /**     * Holds the SMTP mail host.     * @public     * @type string     */    var $Host = "";        /**     * Holds the change log.     * @private     * @type string array     */    var $ChangeLog = array();         /**     * Holds the note log.     * @private     * @type string array     */    var $NoteLog = array();       /**     * Class constuctor.     */    function phpmailerTest($name) {        /* must define this constructor */        $this->TestCase( $name );    }        /**     * Run before each test is started.     */    function setUp() {        global $global_vars;        global $INCLUDE_DIR;        $this->Mail = new PHPMailer();        $this->Mail->Priority = 3;        $this->Mail->Encoding = "8bit";        $this->Mail->CharSet = "iso-8859-1";        $this->Mail->From = "unit_test@phpmailer.sf.net";        $this->Mail->FromName = "Unit Tester";        $this->Mail->Sender = "";        $this->Mail->Subject = "Unit Test";        $this->Mail->Body = "";        $this->Mail->AltBody = "";        $this->Mail->WordWrap = 0;        $this->Mail->Host = $global_vars["mail_host"];        $this->Mail->Port = 25;        $this->Mail->Helo = "localhost.localdomain";        $this->Mail->SMTPAuth = false;        $this->Mail->Username = "";        $this->Mail->Password = "";        $this->Mail->PluginDir = $INCLUDE_DIR;		$this->Mail->AddReplyTo("no_reply@phpmailer.sf.net", "Reply Guy");        $this->Mail->Sender = "nobody@example.com";        if(strlen($this->Mail->Host) > 0)            $this->Mail->Mailer = "smtp";        else        {            $this->Mail->Mailer = "mail";            $this->Sender = "unit_test@phpmailer.sf.net";        }                global $global_vars;        $this->SetAddress($global_vars["mail_to"], "Test User");        if(strlen($global_vars["mail_cc"]) > 0)            $this->SetAddress($global_vars["mail_cc"], "Carbon User", "cc");    }         /**     * Run after each test is completed.     */    function tearDown() {        // Clean global variables        $this->Mail = NULL;        $this->ChangeLog = array();        $this->NoteLog = array();    }    /**     * Build the body of the message in the appropriate format.     * @private     * @returns void     */    function BuildBody() {        $this->CheckChanges();                // Determine line endings for message                if($this->Mail->ContentType == "text/html" || strlen($this->Mail->AltBody) > 0)        {            $eol = "<br/>";            $bullet = "<li>";            $bullet_start = "<ul>";            $bullet_end = "</ul>";        }        else        {            $eol = "\n";            $bullet = " - ";            $bullet_start = "";            $bullet_end = "";        }                $ReportBody = "";                $ReportBody .= "---------------------" . $eol;        $ReportBody .= "Unit Test Information" . $eol;        $ReportBody .= "---------------------" . $eol;        $ReportBody .= "phpmailer version: " . $this->Mail->Version . $eol;        $ReportBody .= "Content Type: " . $this->Mail->ContentType . $eol;                if(strlen($this->Mail->Host) > 0)            $ReportBody .= "Host: " . $this->Mail->Host . $eol;                // If attachments then create an attachment list        if(count($this->Mail->attachment) > 0)        {            $ReportBody .= "Attachments:" . $eol;            $ReportBody .= $bullet_start;            for($i = 0; $i < count($this->Mail->attachment); $i++)            {                $ReportBody .= $bullet . "Name: " . $this->Mail->attachment[$i][1] . ", ";                $ReportBody .= "Encoding: " . $this->Mail->attachment[$i][3] . ", ";                $ReportBody .= "Type: " . $this->Mail->attachment[$i][4] . $eol;            }            $ReportBody .= $bullet_end . $eol;        }                // If there are changes then list them        if(count($this->ChangeLog) > 0)        {            $ReportBody .= "Changes" . $eol;            $ReportBody .= "-------" . $eol;            $ReportBody .= $bullet_start;            for($i = 0; $i < count($this->ChangeLog); $i++)            {                $ReportBody .= $bullet . $this->ChangeLog[$i][0] . " was changed to [" .                                $this->ChangeLog[$i][1] . "]" . $eol;            }            $ReportBody .= $bullet_end . $eol . $eol;        }                // If there are notes then list them        if(count($this->NoteLog) > 0)        {            $ReportBody .= "Notes" . $eol;            $ReportBody .= "-----" . $eol;            $ReportBody .= $bullet_start;            for($i = 0; $i < count($this->NoteLog); $i++)            {                $ReportBody .= $bullet . $this->NoteLog[$i] . $eol;            }            $ReportBody .= $bullet_end;        }                // Re-attach the original body        $this->Mail->Body .= $eol . $eol . $ReportBody;    }        /**     * Check which default settings have been changed for the report.     * @private     * @returns void     */    function CheckChanges() {        if($this->Mail->Priority != 3)            $this->AddChange("Priority", $this->Mail->Priority);        if($this->Mail->Encoding != "8bit")            $this->AddChange("Encoding", $this->Mail->Encoding);        if($this->Mail->CharSet != "iso-8859-1")            $this->AddChange("CharSet", $this->Mail->CharSet);        if($this->Mail->Sender != "")            $this->AddChange("Sender", $this->Mail->Sender);        if($this->Mail->WordWrap != 0)            $this->AddChange("WordWrap", $this->Mail->WordWrap);        if($this->Mail->Mailer != "mail")            $this->AddChange("Mailer", $this->Mail->Mailer);        if($this->Mail->Port != 25)            $this->AddChange("Port", $this->Mail->Port);        if($this->Mail->Helo != "localhost.localdomain")            $this->AddChange("Helo", $this->Mail->Helo);        if($this->Mail->SMTPAuth)            $this->AddChange("SMTPAuth", "true");    }        /**     * Adds a change entry.     * @private     * @returns void     */    function AddChange($sName, $sNewValue) {        $cur = count($this->ChangeLog);        $this->ChangeLog[$cur][0] = $sName;        $this->ChangeLog[$cur][1] = $sNewValue;    }        /**     * Adds a simple note to the message.     * @public     * @returns void     */    function AddNote($sValue) {        $this->NoteLog[] = $sValue;    }    /**     * Adds all of the addresses     * @public     * @returns void     */    function SetAddress($sAddress, $sName = "", $sType = "to") {        switch($sType)        {            case "to":                $this->Mail->AddAddress($sAddress, $sName);                break;            case "cc":                $this->Mail->AddCC($sAddress, $sName);                break;            case "bcc":                $this->Mail->AddBCC($sAddress, $sName);                break;        }    }    /////////////////////////////////////////////////    // UNIT TESTS    /////////////////////////////////////////////////    /**     * Try a plain message.     */    function test_WordWrap() {        $this->Mail->WordWrap = 40;        $my_body = "Here is the main body of this message.  It should " .                   "be quite a few lines.  It should be wrapped at the " .                   "40 characters.  Make sure that it is.";        $nBodyLen = strlen($my_body);        $my_body .= "\n\nThis is the above body length: " . $nBodyLen;        $this->Mail->Body = $my_body;        $this->Mail->Subject .= ": Wordwrap";        $this->BuildBody();        $this->assert($this->Mail->Send(), $this->Mail->ErrorInfo);    }    /**     * Try a plain message.     */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -