Home  >  Article  >  Backend Development  >  Detailed explanation of PHP's Jmai component and examples of sending emails_PHP Tutorial

Detailed explanation of PHP's Jmai component and examples of sending emails_PHP Tutorial

WBOY
WBOYOriginal
2016-07-13 17:30:001190browse

<%
On error resume next
Dim JMail, contentId
Set JMail = Server.CreateObject("JMail.Message")
JMail.Charset = "gb2312" 邮件字符集,默认为"US-ASCII"
JMail.ISOEncodeHeaders = False 是否进行ISO编码,默认为True
发送者信息(可用变量方式赋值)
JMail.From = "webjxcom@163.com" 发送者地址
JMail.FromName = "网站管理员" 发送者姓名
JMail.Subject = "邮件主题" 邮件主题
身份验证
JMail.MailServerUserName = "webjx" 身份验证的用户名
JMail.MailServerPassword = "webjx" 身份验证的密码
设置优先级,范围从1到5,越大的优先级越高,3为普通
JMail.Priority = 1
JMail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
加入一个收件人【变量email:收件人地址】可以同一语句重复加入多个
JMail.AddRecipient("5ss@163.com")
加入附件【变量filename:附件文件的绝对地址,确保用户IUSR_机器名有访问的权限】
【参数设置是(True)否(False)为Inline方式】
contentId = JMail.AddAttachment (Server.MapPath("jmail.asp"), True)
邮件主体(HTML(注意信件内链接附件的方式))
JMail.AppendBodyFromFile(Server.MapPath("/Love/Inc/Mailend.txt"))
JMail.HTMLBody = "邮件正文
邮件正文
邮件正文"
邮件主体(文本部分)
JMail.Body = "我们的邮件采用了HTML格式,但是您的邮件查看软件可能不支持。。。邮件正文,邮件正文,邮件正文"
发送【调用格式:objJMail.Send([username:password@]SMTPServerAddress[:Port])】
JMail.Send("smtp.163.com")
关闭并清除对象
JMail.Close()
Set JMail = Nothing
if err.number<>0 then
response.write "发送发送失败!"
else
response.write "邮件发送成功!"
end if
%>

class smtp
{
    /* Public Variables */
    var $smtp_port;
    var $time_out;
    var $host_name;
    var $log_file;
    var $relay_host;
    var $debug;
    var $auth;
    var $user;
    var $pass;
    /* Private Variables */
    var $sock;
    /* Constractor */
    function smtp($relay_host = "", $smtp_port = 25,$auth = false,$user,$pass)
    {
        $this->debug = FALSE;
        $this->smtp_port = $smtp_port;
        $this->relay_host = $relay_host;
        $this->time_out = 30; //is used in fsockopen()
        #
        $this->auth = $auth;//auth
        $this->user = $user;
        $this->pass = $pass;
        #
        $this->host_name = "localhost"; //is used in HELO command
        $this->log_file = "";
        $this->sock = FALSE;
    }
    /* Main Function */
    function sendmail($to, $from, $subject = "", $body = "", $mailtype, $cc = "", $bcc = "", $additional_headers = "")
    {
        $mail_from = $this->get_address($this->strip_comment($from));
        $body = ereg_replace("(^|( ))(.)", "1.3", $body);
        $header = "MIME-Version:1.0 ";
        if($mailtype=="HTML"){
            $header .= "Content-Type:text/html ";
        }
        $header .= "To: ".$to." ";
        if ($cc != "") {
            $header .= "Cc: ".$cc." ";
        }
        $header .= "From: $from<".$from."> ";
        $header .= "Subject: ".$subject." ";
        $header .= $additional_headers;
        $header .= "Date: ".date("r")." ";
        $header .= "X-Mailer:By Redhat (PHP/".phpversion().") ";
        list($msec, $sec) = explode(" ", microtime());
        $header .= "Message-ID: <".date("YmdHis", $sec).".".($msec*1000000).".".$mail_from."> ";
        $TO = explode(",", $this->strip_comment($to));
        if ($cc != "") {
            $TO = array_merge($TO, explode(",", $this->strip_comment($cc)));
        }
        if ($bcc != "") {
            $TO = array_merge($TO, explode(",", $this->strip_comment($bcc)));
        }
        $sent = TRUE;
        foreach ($TO as $rcpt_to) {
            $rcpt_to = $this->get_address($rcpt_to);
            if (!$this->smtp_sockopen($rcpt_to)) {
                $this->log_write("Error: Cannot send email to ".$rcpt_to." ");
                $sent = FALSE;
                continue;
            }
            if ($this->smtp_send($this->host_name, $mail_from, $rcpt_to, $header, $body)) {
                $this->log_write("E-mail has been sent to <".$rcpt_to."> ");
            } else {
                $this->log_write("Error: Cannot send email to <".$rcpt_to."> ");
                $sent = FALSE;
            }
            fclose($this->sock);
            $this->log_write("Disconnected from remote host ");
      &n

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/509200.htmlTechArticle% On error resume next Dim JMail, contentId Set JMail = Server.CreateObject("JMail.Message") JMail.Charset = "gb2312" 邮件字符集,默认为"US-ASCII" JMail.ISOEncodeHeaders =...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn