smtp协议的邮件类php,自己写的一个php发送邮件的类(smtp协议)

调用方法:<?php

$smtp = new Smtp;

$smtp->smtp('smtp.qq.com');           //邮件发送服务器

$smtp->pors(25);                      //邮件服务器端口

$smtp->login(

'369758482@qq.com');     //邮件服务器登录用户

$smtp->pass(2013);             //邮件服务器登录密码

$smtp->mails(

'1140714215@qq.com');    //邮件接收人

$smtp->from(

'369758482@qq.com');      //邮件发送人

$smtp->come(

'baiyi1983000@163.com');  //接收邮件回复地址

$smtp->title('这是一封邮件测试地址邮件');  //邮件主题

$smtp->body('这是一封邮件测试内容邮件');   //邮件内容

echo $smtp->send();                   //发送邮件并输出发送状态

?>

也可以这样调用:

$smtp = new Smtp;

echo $smtp->smtp('smtp.qq.com')->pors(25)->login(

'369758482@qq.com')->pass(13979797582)->mails('1140714215@qq.com')->from('369758482@qq.com')->come('baiyi1983000@163.com')->title('这是一封邮件测试地址邮件')->body('这是一封邮件测试内容邮件')->send();

1.[文件] smtp.mail.class.php ~ 3KB     下载(137)

/*

SMTP发送邮件类

作者:伤心的歌

QQ:369758482

Email:369758482@qq.com

*/

class Smtp{

private $Smtp = 'smtp.qq.com'; //邮件服务器

private $PORS = 25; //邮件服务器端口

private $LoginMail = ''; //邮件登陆用户账户

private $LoginPass = ''; //邮件登陆用户密码

private $MailTo = ''; //接受邮件用户

private $MailFrom = ''; //邮件发送人

private $MailCome = ''; //接受回复邮件账户

private $Title = '测试邮件主题'; //邮件主题

private $Body = '测试邮件内容'; //邮件主体内容

private $Mesg = '邮件发送成功'; //邮件发送结果

public function smtp( $Smtp = '' ){ $this -> Smtp = $Smtp; return $this; }

public function pors( $pors = 25 ){ $this -> PORS = $pors; return $this; }

public function login( $login = '' ) { $this -> LoginMail = $login; return $this; }

public function pass( $pass = '' ){ $this -> LoginPass = $pass; return $this; }

public function mails( $mail = '' ) { $this -> MailTo = $mail; return $this; }

public function from( $form = '' ) { $this -> MailFrom = $form; return $this; }

public function come( $come = '' ) { $this -> MailCome = $come; return $this; }

public function title( $title = '' ) { $this -> Title = $title; return $this; }

public function body( $body = '' ) { $this -> Body = $body; return $this; }

public function send(){

$fp = @fsockopen( $this->Smtp, $this->PORS);

@set_socket_blocking($fp, true);

$Server = @fgets($fp, 512);

$this->Mesg = !preg_match('/^220/i', $Server) ? '邮件服务器连接失败' : $this->Mesg;

@fputs($fp, 'HELO phpsetmail' . "\r\n");

$Server = @fgets($fp, 2000);

$this->Mesg = !preg_match('/^250/i', $Server) ? '与服务器会话失败' : $this->Mesg;

@fputs($fp, 'AUTH LOGIN' . "\r\n");

$Server = @fgets($fp, 2000);

$this->Mesg = !preg_match('/^334/i', $Server) ? '请求与服务器进行用户验证失败' : $this->Mesg;

@fputs($fp, base64_encode( $this->LoginMail ) . "\r\n");

$Server = @fgets($fp, 2000);

$this->Mesg = !preg_match('/^334/i', $Server) ? '用户验证失败' : $this->Mesg;

@fputs($fp, base64_encode( $this->LoginPass ) . "\r\n");

$Server = @fgets($fp, 2000);

$this->Mesg = !preg_match('/^235/i', $Server) ? '用户验证失败' : $this->Mesg;

@fputs($fp, 'MAIL FROM:' . $this->LoginMail . "\r\n");

$Server = @fgets($fp, 2000);

$this->Mesg = !preg_match('/^250/i', $Server) ? '发送用户验证失败' : $this->Mesg;

@fputs($fp, 'RCPT TO:' . $this->MailTo . "\r\n");

$Server = @fgets($fp, 2000);

$this->Mesg = !preg_match('/^250/i', $Server) ? '接受用户名验证失败' : $this->Mesg;

@fputs($fp, 'DATA' . "\r\n");

$Server = @fgets($fp, 2000);

$this->Mesg = !preg_match('/^354/i', $Server) ? '请求与服务器发送邮件数据失败' : $this->Mesg;

@fputs($fp, 'From:' . $this->MailCome ."\r\n");

@fputs($fp, 'Subject:' . $this->Title . "\r\n");

@fputs($fp, 'To:' . $this->MailTo . "\r\n");

@fputs($fp, "\r\n");

@fputs($fp, $this->Body . "\r\n");

@fputs($fp, '.' . "\r\n");

$Server = @fgets($fp, 2000);

$this->Mesg = !preg_match('/^250/i', $Server) ? '邮件发送失败' : $this->Mesg;

@@fputs($fp, 'QUIT' . "\r\n");

@fclose($fp);

return $this->Mesg;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值