导航:首页 > 编程语言 > phpemail类

phpemail类

发布时间:2023-01-06 23:11:35

php输入邮箱,最后如何显示邮箱的类型

通过正则匹配获取到@后面的后缀。

然后就是根据写好的字典进行选择,比如qq. com 就是腾讯邮箱,如果是126.com 就是网易邮箱,如此类推。

㈡ php发邮件的Mail函数或者phpmailer类问题

phpmailer有返回值的,也有具体的错误,发送不成功,肯定是有原因的。还有设置发送邮件的smtp服务器用163的比较稳定,当然用公司自己的服务器发也可以,不过要确保公司的服务器开启了smtp服务。
还有问下公司的网管或运维看看是不是做了什么网络限制。

㈢ php发送邮件的问题:php怎么才能发送邮件呢使用自带的函数,应该怎样设置相应的邮件服务器

首先,我不想给phpmailer这个东西做广告,但是我确实使用的这个东西,很费解。

  1. 下载一个phpmailer类,里面主要的是三个文件class.phpmailer.phpclass.pop3.phpclass.smtp.php

  2. 将这三个文件放到同一个文件夹.eg:papmailer

  3. 申请一个网络邮件服务器(我用的是163服务器)

  4. 编写发送邮件代码如下

  5. /**
    *发送邮件
    *@paramunknown_type$sendto_email接收人Email
    *@paramunknown_type$subject邮件主题
    *@paramunknown_type$body邮件内容
    *@paramunknown_type$user_name接受人姓名
    */
    functionsend_email($sendto_email,$subject,$body,$user_name){
    require_once"phpmailer/class.phpmailer.php";
    $mail=newPHPMailer();//创建类对象
    $mail->IsSMTP();
    $mail->Host="smtp.163.com";//SMTPservers使用163服务器,邮件smtp服务器
    $mail->SMTPAuth=true;//turnonSMTPauthentication
    $mail->Username="你申请的163邮箱帐号";//SMTPusername注意:普通邮件认证不需要加@域名
    $mail->Password="163邮箱密码";//SMTPpassword
    $mail->From="发件人邮箱,可以使用上面163邮箱";//发件人邮箱
    $mail->FromName="发件人名称,自己随意命名";//发件人

    $mail->CharSet="utf8";//这里指定字符集!
    $mail->Encoding="base64";
    $mail->AddAddress($sendto_email,$user_name);//收件人邮箱和姓名
    $mail->IsHTML(true);//sendasHTML
    //邮件主题
    $mail->Subject=$subject;
    //邮件内容
    $mail->Body=$body;

    $mail->AltBody="text/html";
    if(!$mail->Send()){
    return$mail->ErrorInfo;
    }else{
    returntrue;
    }
    }

㈣ php邮件类报错Language string failed to load: smtp_connect_failed

那肯定是因为服务器上配置和本地不一样。你检查下服务器上curl扩展是否打开?
还有,我使用class.phpmailer.php,从来不加载require("class.smtp.php");

㈤ php邮箱类执行到smtp_ok()执行不下去,为什么

这个问题是 fgets($this->sock,512)超时问题,你可以在运行这个方法之前 多次输出
ehco fgets($this->sock,512); 看看其输出的行数 因为fgets 没输出一次,其指针向下移动一位,而你的 应该是一直在输出 从而超时 再不行 你就问张立明去啊

㈥ PHP邮件发送类怎么弄,我的出错了,帮我看下

if(mysql_insert_id()){//写入成功,发邮件

跟这个语句对于的大括号呢??

你这个错误很明显,告诉你是缺少闭合结束符,一般就是指大括号

㈦ 用php邮件类发邮件是出现错误代码500,怎么解决

500应该是服务器问题

㈧ php编程---email功能

*/
set_time_limit(120);
class smtp_mail
{
var $host; //主机
var $port; //端口 一般为25
var $user; //SMTP认证的帐号
var $pass; //认证密码
var $debug = false; //是否显示和服务器会话信息?
var $conn;
var $result_str; //结果
var $in; //客户机发送的命令
var $from; //源信箱
var $to; //目标信箱
var $subject; //主题
var $body; //内容
function smtp_mail($host,$port,$user,$pass,$debug=false)
{
$this->host = $host;
$this->port = $port;
$this->user = base64_encode($user);
$this->pass = base64_encode($pass);
$this->debug = $debug;
$this->socket = socket_create (AF_INET, SOCK_STREAM, SOL_TCP); //具体用法请参考手册
if($this->socket)
{
$this->result_str = "创建SOCKET:".socket_strerror(socket_last_error());
$this->debug_show($this->result_str);
}
else
{
exit("初始化失败,请检查您的网络连接和参数");
}
$this->conn = socket_connect($this->socket,$this->host,$this->port);
if($this->conn)
{
$this->result_str = "创建SOCKET连接:".socket_strerror(socket_last_error());
$this->debug_show($this->result_str);
}
else
{
exit("初始化失败,请检查您的网络连接和参数");
}
$this->result_str = "服务器应答:<font color=#cc0000>".socket_read ($this->socket, 1024)."</font>";
$this->debug_show($this->result_str);

}
function debug_show($str)
{
if($this->debug)
{
echo $str."<p>\r\n";
}
}
function send($from,$to,$subject,$body)
{
if($from == "" ¦ ¦ $to == "")
{
exit("请输入信箱地址");
}
if($subject == "") $sebject = "无标题";
if($body == "") $body = "无内容";
$this->from = $from;
$this->to = $to;
$this->subject = $subject;
$this->body = $body;

$All = "From:".$this->from."\n";
$All .= "To:".$this->to."\n";
$All .= "Subject:".$this->subject."\n";
$All .= $this->body;
/*
如过把$All的内容再加处理,就可以实现发送MIME邮件了
不过还需要加很多程序
*/

//以下是和服务器会话
$this->in = "EHLO HELO\r\n";
$this->docommand();

$this->in = "AUTH LOGIN\r\n";
$this->docommand();

$this->in = $this->user."\r\n";
$this->docommand();

$this->in = $this->pass."\r\n";
$this->docommand();

$this->in = "MAIL FROM:".$this->from."\r\n";
$this->docommand();

$this->in = "RCPT TO:".$this->to."\r\n";
$this->docommand();

$this->in = "DATA\r\n";
$this->docommand();

$this->in = $All."\r\n.\r\n";
$this->docommand();

$this->in = "QUIT\r\n";
$this->docommand();

//结束,关闭连接

}
function docommand()
{
socket_write ($this->socket, $this->in, strlen ($this->in));
$this->debug_show("客户机命令:".$this->in);
$this->result_str = "服务器应答:<font color=#cc0000>".socket_read ($this->socket, 1024)."</font>";
$this->debug_show($this->result_str);
}
}
//这个是我做的测试,我用的是smtp.163.com,那你的信箱也必须是163.com的,要不人家不让你发!!
//你用这个类的时候你修改成你自己的信箱就可以了
$smtp = new smtp_mail("smtp.163.com","25","你的163.com的帐号","你的密码");
//如果你需要显示会话信息,请将上面的修改成
//$smtp = new smtp_mail("smtp.163.com","25","你的163.com的帐号","你的密码",true);
$smtp->send("你的163.com的帐号@163.com","目标地址","你好","你好");

㈨ 求php 发送邮件的代码

php里面有mail函数用于发送邮件,具体你可以查一下手册,如果遇到问题再回来问。
以前来网络提问,很奇怪为什么老是有人去搜索一些网页文章来帖给我,这几天有闲心作答,才很诧异地发现,原来真的有很多人提了问题出来,等人去搜索答案回来贴。
这是你和你们同学约好的刷分办法吗?

㈩ 用PHP发送电子邮件的方法

<?
/*
* 邮件发送类
*/
class smail {
//您的SMTP 服务器供应商,可以是域名或IP地址
var $smtp = "";
//SMTP需要要身份验证设值为 1 不需要身份验证值为 0,现在大多数的SMTP服务商都要验证,如不清楚请与你的smtp 服务商联系。
var $check = 1;
//您的email帐号名称
var $username = "";
//您的email密码
var $password = "";
//此email 必需是发信服务器上的email
var $s_from = "";

/*
* 功能:发信初始化设置
* $from 你的发信服务器上的邮箱
* $password 你的邮箱密码
* $smtp 您的SMTP 服务器供应商,可以是域名或IP地址
* $check SMTP需要要身份验证设值为 1 不需要身份验证值为 0,现在大多数的SMTP服务商都要验证
*/
function smail ( $from, $password, $smtp, $check = 1 ) {
if( preg_match("/^[^\d\-_][\w\-]*[^\-_]@[^\-][a-zA-Z\d\-]+[^\-](\.[^\-][a-zA-Z\d\-]*[^\-])*\.[a-zA-Z]{2,3}/", $from ) ) {
$this->username = substr( $from, 0, strpos( $from , "@" ) );
$this->password = $password;
$this->smtp = $smtp ? $smtp : $this->smtp;
$this->check = $check;
$this->s_from = $from;
}
}

/*
* 功能:发送邮件
* $to 目标邮箱
* $from 来源邮箱
* $subject 邮件标题
* $message 邮件内容
*/
function send ( $to, $from, $subject, $message ) {

//连接服务器
$fp = fsockopen ( $this->smtp, 25, $errno, $errstr, 60);
if (!$fp ) return "联接服务器失败".__LINE__;
set_socket_blocking($fp, true );

$lastmessage=fgets($fp,512);
if ( substr($lastmessage,0,3) != 220 ) return "错误信息1:$lastmessage".__LINE__;

//HELO
$yourname = "YOURNAME";
if($this->check == "1") $lastact="EHLO ".$yourname."\r\n";
else $lastact="HELO ".$yourname."\r\n";

fputs($fp, $lastact);
$lastmessage == fgets($fp,512);
if (substr($lastmessage,0,3) != 220 ) return "错误信息2:$lastmessage".__LINE__;
while (true) {
$lastmessage = fgets($fp,512);
if ( (substr($lastmessage,3,1) != "-") or (empty($lastmessage)) )
break;
}

//身份验证
if ($this->check=="1") {
//验证开始
$lastact="AUTH LOGIN"."\r\n";
fputs( $fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != 334) return "错误信息3:$lastmessage".__LINE__;
//用户姓名
$lastact=base64_encode($this->username)."\r\n";
fputs( $fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != 334) return "错误信息4:$lastmessage".__LINE__;
//用户密码
$lastact=base64_encode($this->password)."\r\n";
fputs( $fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != "235") return "错误信息5:$lastmessage".__LINE__;
}

//FROM:
$lastact="MAIL FROM: <". $this->s_from . ">\r\n";
fputs( $fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != 250) return "错误信息6:$lastmessage".__LINE__;

//TO:
$lastact="RCPT TO: <". $to ."> \r\n";
fputs( $fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != 250) return "错误信息7:$lastmessage".__LINE__;

//DATA
$lastact="DATA\r\n";
fputs($fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != 354) return "错误信息8:$lastmessage".__LINE__;

//处理Subject头
$head="Subject: $subject\r\n";
$message = $head."\r\n".$message;

//处理From头
$head="From: $from\r\n";
$message = $head.$message;

//处理To头
$head="To: $to\r\n";
$message = $head.$message;

//加上结束串
$message .= "\r\n.\r\n";

//发送信息
fputs($fp, $message);
$lastact="QUIT\r\n";

fputs($fp,$lastace);
fclose($fp);
return 0;
}
}
/*发送示例
$sm = new smail( "用户名@163.com", "密码", "smtp.163.com" );
$end = $sm->send( "目标邮箱", "来源邮箱", "这是标题", "这是邮件内容" );
if( $end ) echo $end;
else echo "发送成功!";
*/
?>

阅读全文

与phpemail类相关的资料

热点内容
dvd光盘存储汉子算法 浏览:755
苹果邮件无法连接服务器地址 浏览:958
phpffmpeg转码 浏览:669
长沙好玩的解压项目 浏览:140
专属学情分析报告是什么app 浏览:562
php工程部署 浏览:831
android全屏透明 浏览:730
阿里云服务器已开通怎么办 浏览:801
光遇为什么登录时服务器已满 浏览:300
PDF分析 浏览:484
h3c光纤全工半全工设置命令 浏览:141
公司法pdf下载 浏览:381
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:349
风翼app为什么进不去了 浏览:778
im4java压缩图片 浏览:362
数据查询网站源码 浏览:150
伊克塞尔文档怎么进行加密 浏览:890
app转账是什么 浏览:163