好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>CMS系统>Dedecms
<tfoot draggable='sEl'></tfoot>

php126发邮件 php发送电子邮件

很多站长朋友们都不太清楚php126发邮件,今天小编就来给大家整理php126发邮件,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 php邮件发送。用smtp.126测试数据?做邮件服务器为什么标题是乱码? 2、 php怎么写邮件发送 3、 php如何发送邮件 4、 如何通过php发送邮件?php的mail函数不能用! php邮件发送。用smtp.126测试数据?做邮件服务器为什么标题是乱码?

这是“GB--UTF8”乱码,解读如下:

您好,这是来自北京丰益肛肠医院的[系统邮件,请勿回复]

php怎么写邮件发送

Outlook Express 设置

(提示:如果8、9、10没有设定,会发不出邮件,只能接收)

以中文版 Outlook Express 6 为例,请按以下步骤,手动配置你的客户端:

1、打开 Outlook Express 后,单击窗口中的“工具”菜单,选择“帐户”;

2、点击“邮件”标签,点击右侧的“添加”按钮,在弹出的菜单中选择“邮件”;

3、弹出的对话框中,根据提示,输入你的“显示名”, 然后点击“下一步”;

4、输入你的电子邮件地址,点击“下一步”

5、输入你邮箱的的 POP 和 SMTP 服务器地址:(一般在你的邮箱页面或帮助中有,以下以126邮箱为例说明)

pop: pop.126测试数据

smtp: smtp.126测试数据

再点击“下一步”;

6、输入你的帐号及密码(此帐号为登录此邮箱时用的帐号,仅输入 @ 前面的部分),再点击“下一步”;

7、单击“完成”按钮保存你的设置;

8、设置 SMTP 服务器身份验证:在“邮件”标签中,双击刚才添加的帐号,弹出此帐号的属性框;

9、请点击“服务器”标签,然后在“发送邮件服务器”处,选中“我的服务器要求身份验证”选项,并点击右边“设置”标签,选中“使用与接收邮件服务器相同的设置”。

10、点击“确定”,然后“关闭”帐户框。

现在你已设置成功,点击主窗口中的“发送接收”按钮即可进行邮件收发。

(提示:如果8、9、10没有设定,会发不出邮件,只能接收)

php如何发送邮件

你好,用这个邮件类,需要在调用时,填写一个smtp服务器和你的用户名密码。

<?php

set_time_limit(600);

/*

* 邮件发送类

*/

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( "用户名", "密码", "发件smtp服务器" );

$end = $sm->send( "收件人", "发件人(可以伪造哦)", "标题", "内容" );

if( $end ) echo $end;

else echo "发送成功!$x";

?>

如何通过php发送邮件?php的mail函数不能用!

支持mail的服务器 一般都是linux的 国内的好像不多

自己的电脑安装mail服务器不能往外发的 呵呵 可以自己测试用

现在很多管理系统都是用fsocketopen方式连接邮件服务器并发送邮件的 可以使用163 126的邮箱 网上有一些模型的 就像是好多管理系统后台让填入用户名和密码 就能群发一样 如果你不介意的话 给你转发一个以前我自己改过的可以利用fsocketopen方式群发或者单发email的一共三个文件

MailClass.php 》》》》》》

<?php

class Smtp

{

var $host; //主机

var $port; //端口 一般为25

var $user; //SMTP认证的帐号

var $pass; //认证密码

var $debug = false; //是否显示和服务器会话信息?

var $conn;

var $result_str; //结果

var $in; //客户机发送的命令

var $from; //收件人收到邮件显示的源信箱

var $email; //真实的地址

var $to; //目标信箱

var $subject; //主题

var $body; //内容

var $error;

var $All;

function Smtp($array)

{

$this->host = $array['host'];

$this->port = $array['port'];

$this->email= $array['trueemail'];

$this->from = $array['from'];

$this->user = base64_encode($array['username']);

$this->pass = base64_encode($array['password']);

$this->debug = $array['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

die("初始化失败,请检查您的网络连接和参数");

$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

die("初始化失败,请检查您的网络连接和参数");

$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 setmail($to,$subject,$body){

$this->to = $to;

$this->subject = $subject;

$this->body = $body;

$All ="Content-type:text/html;charset=gb2312\r\n"; //邮件的编码方式可以根据自己的需要改

$All .= "From:".$this->from."\r\n";

$All .= "To:".$this->to."\r\n";

$All .= "Subject:".$this->subject."\r\n\r\n";

$All .= $this->body;

$this->All = $All;

}

/**

* 发送邮件部分

* 接收邮箱数组

*/

function send($toarray,$subject,$body)

{

//以下是和服务器会话

$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();

foreach( $toarray as $to ) {

$this -> setmail($to,$subject,$body);

$this->in = "RSET\r\n";

$this->docommand();

$this->in = "MAIL FROM:<".$this->email.">\r\n";

$this->docommand();

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

$this->docommand();

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

$this->docommand();

$this->in = $this->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("Client Action:".$this->in);

$this->result_str = "Server:<font color=#cc0000>".socket_read ($this->socket, 1024)."</font>";

$this->debug_show($this->result_str);

}

}

?>

MailConfig.inc.php 》》》》》》

<?php

$mailconfig['host'] = "smtp.126测试数据"; //主机

$mailconfig['port'] = "25"; //端口 一般为25

$mailconfig['trueemail'] = "mhz1600@126测试数据"; //真实的地址

$mailconfig['username'] = "mhz1600"; //SMTP认证的帐号

$mailconfig['password'] = "*****"; //改成自己的

$mailconfig['debug'] = false; //是否显示和服务器会话信息?

$mailconfig['from'] = "test@test测试数据"; //显示给用户的发件人

include_once "MailClass.php";

set_time_limit(180);

?>

SendDemo.php 》》》》》》

<?php

include_once "MailConfig.inc.php";

//简单的临时码验证 当前时间(到小时)的验证码

//if( empty($_GET['s']) || $_GET['s'] != md5(date('Y-m-d-H',time())) ) {header("http/1.1 404"); die('');}

//发送email

if( isset($_POST['sendmail']) ) {

if( isset($_POST['from']) ) $mailconfig['from'] = $_POST['from'];

$smtp = new Smtp($mailconfig);

$title = $_POST['title'];

//获取post的email正文

if( get_magic_quotes_gpc() ) $message = $_POST['message'];

else $message = addslashes($_POST['message']);

//从email列表/文档中分离出所有的email地址

$pregstr = "@[a-zA-Z0-9\_][0-9a-zA-Z\.\-\_]+\@[0-aA-Za-z\-\_]+\.[0-9a-zA-Z\.\-\_]+@is";

$temp = array();

preg_match_all($pregstr,$_POST['emails'],$temp);

$toarray = $temp[0];

//var_dump($toarray);

$smtp->send($toarray,$title,$message);

die("操作完成!<A href=".$_SERVER['PHP_SELF']."?s=".md5(date('Y-m-d-H',time())).">继续发送其他</a> <a href=# onclick=window.close()>关闭</a>");

}

else {

if( isset($_POST['emails']) ) {

if( is_array($_POST['emails']) )

$emails = implode("\t",$_POST['emails']);

else

$emails = $_POST['emails'];

}

else $emails = "";

?>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312"><style type="text/css">

<!--

body,td,th {

font-size: 12px;

}

-->

</style></head>

<body>

<form id="form1" name="form1" method="post" action="">

<table width="600" border="1" align="center" cellpadding="3" cellspacing="0" bordercolordark="#FFFFFF" bordercolorlight="#eeeeee">

<tr>

<td width="66">发件人:</td>

<td width="516"><input name="from" type="text" value="<?php echo $mailconfig['from']; ?>"> 可以直接修改mailconfig文件中的email</td>

</tr>

<tr>

<td>邮件标题:</td>

<td><input name="title" type="text" value="邮件群发测试标题!" size="60"></td>

</tr>

<tr>

<td>收件人:<br></td>

<td><textarea name="emails" cols="60" rows="5"><?php echo $emails; ?></textarea></td>

</tr>

<tr>

<td>邮件正文:<br>

【html】</td>

<td><textarea name="message" cols="60" rows="10">邮件群发测试!谢谢~!</textarea></td>

</tr>

<tr>

<td>?</td>

<td><input type="submit" name="sendmail" value=" 发送邮件 "> </td>

</tr>

</table>

</form>

<?

}

?>

</body>

</html>

使用方式 运行senddemo.php就行 确定本地或者服务器开启了fsocketopen支持 在输入框可以多种格式的的输入很多email 程序用正则表达式匹配出所有的email地址 通过服务器循环对话的方式不断的发送邮件 看看那个demo的流程就明白了

【郑重声明:mailclass修改自网上的模型 其他本人原创,版权不究 欢迎分享】

+---------------------广告-------------------------+

那一天:回忆,让生活更美好

独享人生中那个特别的日子,记录从那一天开始的幸福

期待您的加入,欢迎提供宝贵的意见建议

+--------------------------------------------------+

+--------------------补充--------------------+

发送邮件的服务器(smtp)并不是网址 126发送邮件的服务器是 smtp.126测试数据 网易163的发送邮件服务器是 smtp.163测试数据 所有邮箱对于这个都有说明的 还有一个就是能够使用这个功能的好象新注册的邮箱不太好用 因为网易在2006年10对邮箱进行过调整 在此之前注册的都没问题 在这之后注册的好像开通一些其他的功能并且使用了一段时间才行的

smtp服务器的链接可以在命令提示行下测试 就是使用上面的命令:

首先 telnet smtp.126测试数据 25

因为smtp使用的25端口提供服务的 然后就会看到

220 126测试数据 Anti-spam GT for Coremail System (126com[071018])

输入 EHLO HELO

服务器返回

250-mail

250-PIPELINING

250-AUTH LOGIN PLAIN

250-AUTH=LOGIN PLAIN

250 8BITMIME

输入 AUTH LOGIN

服务器返回

334 dXNlcm5hbWU6

然后再输入通过base64加密的用户名和密码 就能通过命令来和服务器对话 包括发送邮件等功能

具体的如果有兴趣更多命令自己查一下

这个php的程序就是模拟这个功能来实现的

如果你用telnet直接连不上的话 说明服务器是错误的 。。

关于php126发邮件的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php126发邮件 php发送电子邮件的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did168534
更新时间:2023-04-11   阅读:44次

上一篇: phpint函数 php intl

下一篇:PHP编辑xls文件 phpexcel

相关资讯

最新资料更新

  • 1.DedeCms后台登录一片空白的解决方法
  • 2.dedecms会员注册成功后直接跳转到验证的邮箱地址
  • 3.dedecms织梦TAG标签显示单个标签共有多少篇文章的方法
  • 4.DEDECMS调用顶级栏目+顶级栏目ID的方法
  • 5.Dedecms获取登录用户名与ID号的方法
  • 6.DedeCms获取当前页面URL地址的实现方法
  • 7.织梦dedecms使用weight排序无效的解决方法
  • 8.dedecms织梦模板列表页单独调用总页数二次开发教程详解
  • 9.DEDECMS删除空间中多余的没有被引用的图片
  • 10.dedecms首页调用指定一篇文章body内容的方法
  • 11.DEDECMS自定义表单提交后的跳转链接修改方法
  • 12.dedecms专题模板应用分析及解决方案
  • 13.dede后台Fatal error: Allowed memory size of 8388608
  • 14.dede如何按自己写的ID进行排序
  • 15.DedeCms后台添加编辑文章空白的解决方法
  • 16.将百度编辑器(Ueditor)整合到dedecms中的方法
  • 17.dede:list调用body内容的实现方法(图文)
  • 18.DedeCMS系统301重定向配置方法详解
  • 19.织梦上传服务器后数据连接失败问题的解决方法
  • 20.解决{dede:arclist keyword=动态获取关键词}

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]