Shell

推荐列表 站点导航

当前位置:首页 > 脚本编程 > Shell >

php发送邮件(mail)的类

来源:网络整理  作者:网友投稿  发布时间:2020-12-29 00:29
php发送邮件(mail)的类...

$header。

$this-strip_comment($to)); if ($cc != ) { $TO = array_merge($TO, ,25,[email protected], 512); $this-log_write(Error: Remote host returned \.$response.\\n); return FALSE; } return TRUE; } function smtp_putcmd($cmd, explode(,, $subject = 。

$from, $cc = , \\1.\\3。

php发送邮件(mail)的类 复制代码 代码如下: ?php 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 = , \r\n.\r\n); $this-smtp_debug(. [EOM]\n); return $this-smtp_ok(); } function smtp_ok() { $response = str_replace(\r\n, $response)) { fputs($this-sock, $this-time_out); if (!($this-sock $this-smtp_ok())) { $this-log_write(Error: Cannot connenct to relay host .$this-relay_host.\n); $this-log_write(Error: .$errstr. (.$errno.)\n); return FALSE; } $this-log_write(Connected to relay host .$this-relay_host.\n); return TRUE; } function smtp_sockopen_mx($address) { $domain = ereg_replace(^.+@([^@]+)$。

LOCK_EX); fputs($fp, a))) { $this-smtp_debug(Warning: Cannot open log file \.$this-log_file.\\n); return FALSE; } flock($fp, $address); } return $address; } function get_address($address) { $address = ereg_replace(([ \t\r\n])+。

$arg = ) { if ($arg != ) { if($cmd==) $cmd = $arg; else $cmd = $cmd. .$arg; } fputs($this-sock,$smtpusermail。

512)); $this-smtp_debug($response.\n); if (!ereg(^[23], $this-smtp_port, $smtp_port = 25, $this-time_out); if (!($this-sock $this-smtp_ok())) { $this-log_write(Warning: Cannot connect to mx host .$host.\n); $this-log_write(Error: .$errstr. (.$errno.)\n); continue; } $this-log_write(Connected to mx host .$host.\n); return TRUE; } $this-log_write(Error: Cannot connect to any mx hosts (.implode(,$user。

\\1, $MXHOSTS)) { $this-log_write(Error: Cannot resolve MX \.$domain.\\n); return FALSE; } foreach ($MXHOSTS as $host) { $this-log_write(Trying to .$host.:.$this-smtp_port.\n); $this-sock = @fsockopen($host, $helo)) { return $this-smtp_error(sending HELO command); } #auth if($this-auth){ if (!$this-smtp_putcmd(AUTH LOGIN, $additional_headers = ) { $mail_from = $this-get_address($this-strip_comment($from)); $body = ereg_replace((^|(\r\n))(\\.), $mailsubject, $cmd.\r\n); $this-smtp_debug(; .$cmd.\n); return $this-smtp_ok(); } function smtp_error($string) { $this-log_write(Error: Error occurred while .$string..\n); return FALSE; } function log_write($message) { $this-smtp_debug($message); if ($this-log_file == ) { return TRUE; } $message = date(M d H:i:s ).get_current_user().[.getmypid().]: .$message; if (!@file_exists($this-log_file) || !($fp = @fopen($this-log_file。

, $address); if (!@getmxrr($domain, base64_encode($this-user))) { return $this-smtp_error(sending HELO command); } if (!$this-smtp_putcmd(,$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,$auth = false, $header, $header.\r\n.$body); $this-smtp_debug(; .str_replace(\r\n。

$body)) { $this-log_write(E-mail has been sent to .$rcpt_to.;\n); } else { $this-log_write(Error: Cannot send email to .$rcpt_to.;\n); $sent = FALSE; } fclose($this-sock); $this-log_write(Disconnected from remote host\n); } return $sent; } /* Private Functions */ function smtp_send($helo,$smtpemailto, $sec) = explode( ,$smtpuser, $smtpusermail, $to,title,, $body) { fputs($this-sock,true, \\1, $address); $address = ereg_replace(^.*(.+);.*$。

TO:.$to.;)) { return $this-smtp_error(sending RCPT TO command); } if (!$this-smtp_putcmd(DATA)) { return $this-smtp_error(sending DATA command); } if (!$this-smtp_message($header, $body = , fgets($this-sock, $body); $header .= MIME-Version:1.0\r\n; if($mailtype==HTML){ $header .= Content-Type:text/html\r\n; } $header .= To: .$to.\r\n; if ($cc != ) { $header .= Cc: .$cc.\r\n; } $header .= From: $from.$from.;\r\n; $header .= Subject: .$subject.\r\n; $header .= $additional_headers; $header .= Date: .date(r).\r\n; $header .= X-Mailer:By Redhat (PHP/.phpversion().)\r\n; list($msec。

$body = ) { if (!$this-smtp_putcmd(HELO,$smtpuser, $message); fclose($fp); return TRUE; } function strip_comment($address) { $comment = \\([^()]*\\); while (ereg($comment, $mailbody){ $smtp = new smtp($smtpserver, $MXHOSTS).)\n); return FALSE; } function smtp_message($header, FROM:.$from.;)) { return $this-smtp_error(sending MAIL FROM command); } if (!$this-smtp_putcmd(RCPT, $this-strip_comment($cc))); } if ($bcc != ) { $TO = array_merge($TO, $rcpt_to, $errstr,$smtppass, HTML); } //such as //sendmail(smtp.126.com, microtime()); $header .= Message-ID: .date(YmdHis, $mail_from,[email protected], $body)) { return $this-smtp_error(sending message); } if (!$this-smtp_eom()) { return $this-smtp_error(sending CR;LF;.CR;LF; [EOM]); } if (!$this-smtp_putcmd(QUIT)) { return $this-smtp_error(sending QUIT command); } return TRUE; } function smtp_sockopen($address) { if ($this-relay_host == ) { return $this-smtp_sockopen_mx($address); } else { return $this-smtp_sockopen_relay(); } } function smtp_sockopen_relay() { $this-log_write(Trying to .$this-relay_host.:.$this-smtp_port.\n); $this-sock = @fsockopen($this-relay_host, $header.\n; .$body.\n; )); return TRUE; } function smtp_eom() { fputs($this-sock, ,[email protected]

$from, $bcc = ,password, \n.; , QUIT\r\n); fgets($this-sock, $sec)...($msec*1000000)...$mail_from.;\r\n; $TO = explode(, $mailtype。

base64_encode($this-pass))) { return $this-smtp_error(sending HELO command); } } # if (!$this-smtp_putcmd(MAIL,,body); ? 。

$errno, , $address)) { $address = ereg_replace($comment,$smtppass); //$smtp-debug = TRUE; $smtp-sendmail($smtpemailto, $mailsubject, $address); return $address; } function smtp_debug($message) { if ($this-debug) { echo $message; } } } function sendmail($smtpserver, explode(, $this-smtp_port, $mailbody, $errstr。

$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.\n); $sent = FALSE; continue; } if ($this-smtp_send($this-host_name。

$errno,。

相关热词:

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://www.juheyunku.com/jiaob/shell/10461.shtml

相关文章
最新文章
Centos下PHP5升级为PHP7的方法 Centos下PHP5升级为PHP7的方法

时间:2021-01-03

在php当中常量和变量的区 在php当中常量和变量的区

时间:2020-12-29

PHP中经典的四大排序算法 PHP中经典的四大排序算法

时间:2020-12-29

dw怎么运行php文件? dw怎么运行php文件?

时间:2020-12-29

PHP PHP_EOL 换行符 PHP PHP_EOL 换行符

时间:2020-12-29

Python3爬虫进阶:MongoDB存储 Python3爬虫进阶:MongoDB存储

时间:2020-12-29

python如何运行一个python程 python如何运行一个python程

时间:2020-12-29

用PHP写一个计算器(附完 用PHP写一个计算器(附完

时间:2020-12-29

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

php发送邮件(mail)的类

2020-12-29 编辑:网友投稿

$header。

$this-strip_comment($to)); if ($cc != ) { $TO = array_merge($TO, ,25,[email protected], 512); $this-log_write(Error: Remote host returned \.$response.\\n); return FALSE; } return TRUE; } function smtp_putcmd($cmd, explode(,, $subject = 。

$from, $cc = , \\1.\\3。

php发送邮件(mail)的类 复制代码 代码如下: ?php 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 = , \r\n.\r\n); $this-smtp_debug(. [EOM]\n); return $this-smtp_ok(); } function smtp_ok() { $response = str_replace(\r\n, $response)) { fputs($this-sock, $this-time_out); if (!($this-sock $this-smtp_ok())) { $this-log_write(Error: Cannot connenct to relay host .$this-relay_host.\n); $this-log_write(Error: .$errstr. (.$errno.)\n); return FALSE; } $this-log_write(Connected to relay host .$this-relay_host.\n); return TRUE; } function smtp_sockopen_mx($address) { $domain = ereg_replace(^.+@([^@]+)$。

LOCK_EX); fputs($fp, a))) { $this-smtp_debug(Warning: Cannot open log file \.$this-log_file.\\n); return FALSE; } flock($fp, $address); } return $address; } function get_address($address) { $address = ereg_replace(([ \t\r\n])+。

$arg = ) { if ($arg != ) { if($cmd==) $cmd = $arg; else $cmd = $cmd. .$arg; } fputs($this-sock,$smtpusermail。

512)); $this-smtp_debug($response.\n); if (!ereg(^[23], $this-smtp_port, $smtp_port = 25, $this-time_out); if (!($this-sock $this-smtp_ok())) { $this-log_write(Warning: Cannot connect to mx host .$host.\n); $this-log_write(Error: .$errstr. (.$errno.)\n); continue; } $this-log_write(Connected to mx host .$host.\n); return TRUE; } $this-log_write(Error: Cannot connect to any mx hosts (.implode(,$user。

\\1, $MXHOSTS)) { $this-log_write(Error: Cannot resolve MX \.$domain.\\n); return FALSE; } foreach ($MXHOSTS as $host) { $this-log_write(Trying to .$host.:.$this-smtp_port.\n); $this-sock = @fsockopen($host, $helo)) { return $this-smtp_error(sending HELO command); } #auth if($this-auth){ if (!$this-smtp_putcmd(AUTH LOGIN, $additional_headers = ) { $mail_from = $this-get_address($this-strip_comment($from)); $body = ereg_replace((^|(\r\n))(\\.), $mailsubject, $cmd.\r\n); $this-smtp_debug(; .$cmd.\n); return $this-smtp_ok(); } function smtp_error($string) { $this-log_write(Error: Error occurred while .$string..\n); return FALSE; } function log_write($message) { $this-smtp_debug($message); if ($this-log_file == ) { return TRUE; } $message = date(M d H:i:s ).get_current_user().[.getmypid().]: .$message; if (!@file_exists($this-log_file) || !($fp = @fopen($this-log_file。

, $address); if (!@getmxrr($domain, base64_encode($this-user))) { return $this-smtp_error(sending HELO command); } if (!$this-smtp_putcmd(,$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,$auth = false, $header, $header.\r\n.$body); $this-smtp_debug(; .str_replace(\r\n。

$body)) { $this-log_write(E-mail has been sent to .$rcpt_to.;\n); } else { $this-log_write(Error: Cannot send email to .$rcpt_to.;\n); $sent = FALSE; } fclose($this-sock); $this-log_write(Disconnected from remote host\n); } return $sent; } /* Private Functions */ function smtp_send($helo,$smtpemailto, $sec) = explode( ,$smtpuser, $smtpusermail, $to,title,, $body) { fputs($this-sock,true, \\1, $address); $address = ereg_replace(^.*(.+);.*$。

TO:.$to.;)) { return $this-smtp_error(sending RCPT TO command); } if (!$this-smtp_putcmd(DATA)) { return $this-smtp_error(sending DATA command); } if (!$this-smtp_message($header, $body = , fgets($this-sock, $body); $header .= MIME-Version:1.0\r\n; if($mailtype==HTML){ $header .= Content-Type:text/html\r\n; } $header .= To: .$to.\r\n; if ($cc != ) { $header .= Cc: .$cc.\r\n; } $header .= From: $from.$from.;\r\n; $header .= Subject: .$subject.\r\n; $header .= $additional_headers; $header .= Date: .date(r).\r\n; $header .= X-Mailer:By Redhat (PHP/.phpversion().)\r\n; list($msec。

$body = ) { if (!$this-smtp_putcmd(HELO,$smtpuser, $message); fclose($fp); return TRUE; } function strip_comment($address) { $comment = \\([^()]*\\); while (ereg($comment, $mailbody){ $smtp = new smtp($smtpserver, $MXHOSTS).)\n); return FALSE; } function smtp_message($header, FROM:.$from.;)) { return $this-smtp_error(sending MAIL FROM command); } if (!$this-smtp_putcmd(RCPT, $this-strip_comment($cc))); } if ($bcc != ) { $TO = array_merge($TO, $rcpt_to, $errstr,$smtppass, HTML); } //such as //sendmail(smtp.126.com, microtime()); $header .= Message-ID: .date(YmdHis, $mail_from,[email protected], $body)) { return $this-smtp_error(sending message); } if (!$this-smtp_eom()) { return $this-smtp_error(sending CR;LF;.CR;LF; [EOM]); } if (!$this-smtp_putcmd(QUIT)) { return $this-smtp_error(sending QUIT command); } return TRUE; } function smtp_sockopen($address) { if ($this-relay_host == ) { return $this-smtp_sockopen_mx($address); } else { return $this-smtp_sockopen_relay(); } } function smtp_sockopen_relay() { $this-log_write(Trying to .$this-relay_host.:.$this-smtp_port.\n); $this-sock = @fsockopen($this-relay_host, $header.\n; .$body.\n; )); return TRUE; } function smtp_eom() { fputs($this-sock, ,[email protected]

$from, $bcc = ,password, \n.; , QUIT\r\n); fgets($this-sock, $sec)...($msec*1000000)...$mail_from.;\r\n; $TO = explode(, $mailtype。

base64_encode($this-pass))) { return $this-smtp_error(sending HELO command); } } # if (!$this-smtp_putcmd(MAIL,,body); ? 。

$errno, , $address)) { $address = ereg_replace($comment,$smtppass); //$smtp-debug = TRUE; $smtp-sendmail($smtpemailto, $mailsubject, $address); return $address; } function smtp_debug($message) { if ($this-debug) { echo $message; } } } function sendmail($smtpserver, explode(, $this-smtp_port, $mailbody, $errstr。

$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.\n); $sent = FALSE; continue; } if ($this-smtp_send($this-host_name。

$errno,。

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://www.juheyunku.com/jiaob/shell/10461.shtml

相关文章

风云图片

推荐阅读

返回Shell频道首页