php邮件发送
A. 求php 发送邮件的代码
php里面有mail函数用于发送邮件,具体你可以查一下手册,如果遇到问题再回来问。
以前来网络提问,很奇怪为什么老是有人去搜索一些网页文章来帖给我,这几天有闲心作答,才很诧异地发现,原来真的有很多人提了问题出来,等人去搜索答案回来贴。
这是你和你们同学约好的刷分办法吗?
B. php 发送邮件 要怎么配置
在Windows平台下使用mail函数发送邮件,记录如下
php.ini的设置:
SMTP = localhost
smtp_port = 25
sendmail_from=你的设定值
另外,还需要安装IIS自带的SMTP,在SMTP虚拟服务器上点击右键,在弹出的属性窗口里进行如下设置:
点击访问选项卡,再点击中继,在弹出的窗口出点击添加,然后选单台计算机,添加IP地址为 127.0.0.1。然后一路确定返回。(不进行此项设置,可能会出现:SMTP server response: 550 5.7.1 Unable to relay for [email protected]。。。的错误)
这样就可以使用mail函数了
<?php
mail("[email protected]","Test mail function of PHP.","hello world!");
?>
C. 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";
?>
D. PHP邮件发送
可以的,PHP直接连接SMTP服务器,进行登录和发送邮件。不过不可能简单哦,相当于编写一个OUTLOOK的功能,不可能很简单,可以参见这篇文章:http://www.chinaz.com/Program/PHP/041050242007.html
E. 怎么利用php发送邮件求详细教程
PHP虽然提供了mail()函数,但并不好用,而PHPMailer是一个不错的邮件发送工具,接下来将详细介绍,需要了解的朋友可以参考下:
本人使用wamp集成开发环境,Apache2.4.4, Mysql5.6.12 , php5.4.12.开始的时候使用mail()发送邮件,更改配置始终无法成功,了解到mail()函数使用需要sendmail程序。又下载了sendmail程序扩展包。按照网上的说法也改好了php.ini和sendmail.ini。使用foxmail 7.1创建了自己的qq邮箱账户,开启了POP3/SMTP服务,更改发件服务器为POP3,使用和收件服务器相同的身份验证,结果还是报错:Warning: mail(): SMTP server response: 503 Error: need EHLO and AUTH first ! in F:\PHP\wamp\www\mail.php on line 8。以下是使用mail()函数发送邮件的php代码:
[php] view plain
<span style="font-size:14px"><?php
$to = "[email protected]";
$subject = "Test mail";
$message = "Hello! This is a simple email message.";
$from = "[email protected]";
$headers = "From: $from";
$send=mail($to,$subject,$message,$headers);
if($send)
echo "Mail Sent";
else
echo "Sorry,mail sent failed!"
?></span>
在CSDN论坛上发现phpmailer可以方便快捷的发送邮件,以下写出详细使用教程:
1.需要下载PHPMailer文件包,(点击打开链接)
2.确认你的服务器已经系统支持socket,通过phpinfo()查看是否支持socket;
3.把文件解压到你的WEB服务器目录下,就可以使用PHPMailer发送邮件了。
以下为前台表单php代码:
[php] view plain
<span style="font-size:14px"><html>
<body>
<h3>phpmailer Unit Test</h3>
请你输入<font color="#FF6666">收信</font>的邮箱地址:
<form name="phpmailer" action="testemail.php" method="post">
<input type="hidden" name="submitted" value="1"/>
邮箱地址: <input type="text" size="50" name="to" />
<br/>
<input type="submit" value="发送"/>
</form>
</body>
</html> </span>
以下为后台程序:
[php] view plain
<?php
/**
* Simple example script using PHPMailer with exceptions enabled
* @package phpmailer
* @version $Id$
*/
header("content-type:text/html;charset=utf-8");
ini_set("magic_quotes_runtime",0);
require('class.phpmailer.php');
try {
$mail = new PHPMailer(true); //New instance, with exceptions enabled
//$body = file_get_contents('contents.html');
//$body = preg_replace('/\\\\/','', $body); //Strip backslashes
$to = $_POST['to'];
$mail->CharSet="GB2312";//设置邮件字符编码否则邮件会乱码
$mail->Encoding="base64";
$mail->IsSMTP(); // tell the class to use SMTP
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->Port = 25; // set the SMTP server port
$mail->Host = "smtp.qq.com"; // SMTP server
$mail->Username = "[email protected]"; // SMTP server username
$mail->Password = "000000000000"; // SMTP server password
//$mail->IsSendmail(); // tell the class to use Sendmail
$mail->AddReplyTo("[email protected]","han qing");
$mail->From = "[email protected]";
$mail->FromName = "han qing";
//$to = "[email protected]";
$mail->AddAddress($to);
$mail->Subject =$mail->Subject = "=?utf-8?B?" . base64_encode("First PHPMailer Message") . "?=";
$mail->Body = "<h1>phpmailer演示</h1> 这是用PHPMAILER发的第一份邮件,从QQ邮箱发到Google邮箱.";
$mail->AddAttachment("F:/myloe.jpg");
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test
$mail->WordWrap = 80; // set word wrap
//$mail->MsgHTML($body);
$mail->IsHTML(true); // send as HTML
$mail->Send();
echo 'Message has been sent.';
} catch (phpmailerException $e) {
echo $e->errorMessage();
}
?>
F. PHP发邮件的问题
如果楼主是自己写的SMTP类那么建议你仔细检查一下SOCKET会话过程
说不定它的SMTP服务器的验证过程跟你提供的信息不一致导致的会话错误
可以适当修改一下登录验证过程的代码试试
G. 怎样用php发送邮件啊
一、如何使用网络邮箱接收邮件?
在网络邮箱左侧的菜单中点击“收件夹”打开收件夹页面,系统将显示您的收件夹中所有邮件的列表。在此页面下您可以接收和查看邮件。在邮件列表框中显示邮件的寄件人、寄件时间、邮件主题以及此邮件的大小。
在页面右上方有一段文字提示,上面显示了您邮箱中的邮件总数和新邮件的数量。
接收Web邮件
在收件夹页面点击“Web邮件”链接,系统将自动把新邮件放到收件夹中 ,同时显示在邮件列表的最上面。新收到邮件的主题将以粗体显示。
接收POP邮件
网络邮箱提供了接收其它POP服务器邮件的功能。首次点击“POP邮件”将进入POP服务器设置页面,有关操作请参阅“设置区”中的介绍。
正确设置POP服务器后,再次点击“POP邮件”时系统将自动从您设置的POP服务器中收邮件,自动把新邮件放到收件夹中,同时显示在邮件列表的最上面。
阅读邮件
在邮件列表中,点击邮件的主题将打开"阅读邮件内容"页面。如果邮件包含附件,那么在邮件正文的下面将显示附件文件的链接,只要点击即可打开或下载;或者单击右键打开快捷菜单,选择打开或下载。快捷菜单中菜单项的多少与您使用的浏览器有关。
在来信人地址的右侧,如果您收到了恶意打扰邮件或者不请自来的网络广告,点击"拒收寄件人"链接,页面将询问您是否将该发件人加入拒收列表,单击"确定",今后您将不会收到此地址的邮件,如果想恢复,您可以到"设置区/邮件过滤设置"页面进行修改。另外,您也可以直接到邮件过滤设置中将该来信人地址设入拒收行列。
"添加到通讯录"链接,点击该链接弹出编辑地址页面,您填写相关信息后,单击"确定"按钮即可将该地址加入地址簿。
切换语言代码当您阅读邮件时,如果邮件的内容不能正常显示,很可能是显示邮件的语言代码设置不对。您可以在阅读邮件的窗口,单击语言编码的下拉按钮,选择相应的语言编码。一般港台地区选择“大五码(Big5)”,大陆地区选择GB2312。
加入地址薄在来信人地址的右侧,您可以点击“添加到通讯录”链接,弹出编辑地址页面,您填写相关信息后,单击“确定”按钮即可将该地址加入通讯录。
在“阅读邮件内容”页面下,您可以点击“上一封”或“下一封”来查看其它邮件,还可以点击其它链接对当前邮件进行回复、转发、删除或转移。
回复和转发邮件
对于已阅读的邮件,您可以进行回复和转发。在“阅读邮件内容”页面下方点击相应链接即可。 回复邮件和转发邮件都自动打开“写邮件”页面。回复邮件时,系统将自动填写邮件的发送地址和主题,其中主题为:RE+原邮件的主题。转发邮件时,系统将自动填写邮件主题:FWD+原邮件的主题。
如果原邮件发送时填写了“抄送[CC]”一栏,并且您收到后希望给寄件人和所有“抄送[CC]”中的其他收件人回信,您可以点击“回复全部”进行回复。
删除当前邮件
在阅读当前邮件过程中,您可以点击“删除”链接删除它,被删除的邮件将转移到“垃圾桶”中。
转移当前邮件
阅读完邮件后,您可以把当前邮件转移到其它邮件夹。操作如下: 单击“选择目标邮件夹”右侧的小图标打开下拉列表框,单击选择邮件夹,然后点击“转移邮件到”链接即可。
返回收件夹
单击左侧菜单中的“收件夹”,即可返回收件夹页面。
编辑收件夹
为了便于对邮件进行管理,网络热线任你邮提供了收件夹编辑功能。其中包括:删除邮件和转移邮件。
删除邮件
您除了可以在"阅读邮件内容"页面下删除当前邮件外,还可以在"收件夹"页面下删除一个或多个邮件。操作如下:
1.首先单击邮件列表左侧的选择框,选择要删除的邮件,选择框内显示一个小勾表明被选中,一次可以选中多个邮件;如果您想删除所有邮件,单击邮件列表下方的“全选”核对框即可;
2.然后点击“删除邮件”链接即可删除所选邮件。被删除的邮件将自动放入“垃圾桶”中。
转移邮件
您可以把当前打开的收件夹中的邮件转移到其它邮件夹中。把邮件转移到“垃圾桶”中与删除邮件具有相同的结果。转移邮件操作如下:
1.首先单击邮件列表左侧的选择框,选中要转移的邮件,可以一次选择或多个邮件;如果您想转移所有邮件,单击邮件列表下方的“全选”核对框即可;
2.然后在“选择目标邮件夹”下拉列表框中选择邮件夹。可选的邮件夹包括您自己建立的邮件夹;
点击“转移邮件到”链接即可转移所选邮件。
查看其它邮件夹的内容
在“收件夹”页面中您可以查看其它邮件夹的内容。操作如下: 打开“选择要查看的邮件夹”下拉列表框,单击选择要查看的邮件夹,系统将自动打开相应的邮件夹,并显示邮件夹中的邮件列表。
二、如何使用网络邮箱写邮件并发送?
点击网络邮箱页面左侧的“写邮件”,进入写邮件页面。在寄件人后显示您的昵称和网络邮箱电子邮件地址。
下面详细介绍编写邮件的方法:
填写收件人地址
在收件人(To)、抄送(CC)和密送(BCC)的地址输入框内,可以输入对方的E-mail地址(当有多个地址时用逗号或分号分隔);也可以分别点击每个输入框前的蓝色链接打开“通讯录”窗口,选中所需的联系人或小组,单击“确定”按钮,将所选地址添加到输入框。需要说明的是,收件人可以看到“抄送[CC]”中的地址,但看不到“密送[BCC]”中的地址。
邮件的主题和正文
在“主题”栏中输入您所发出的E-mail主题,该主题将显示在收件人收件夹的“主题”区,发送时未加入主题,显示为“No Subject”。
在输入区内输入您要发送的内容,按“回车键”可换行。
发送附件
您还可以将本地硬盘、磁盘或光盘中的文件以附件的形式发送给对方。作为附件的文件类型不限,每次最多可以发送五个文件。在“附件”右侧的区域输入要发送的文件绝对路径和名称,或者单击“浏览”按钮查找选中。收件人对附件可直接打开,也可通过网络下载到本地计算机上。
签名文件设置
签名文件内容将显示在对方收到邮件内容的末尾,设置内容可以在“设置区/签名文件设置”中进行。当然您可以在“签名”处输入不同于预设的内容,但这种更改只对当前发送的E-mail有效,下一次系统仍旧默认预设的签名文件内容。
设置邮件重要度
您重要的邮件怎样才能引起别人的重视?在发送邮件前,您可以选择邮件的重要度,有高、普通和低三种级别。您根据邮件的重要性,单击“发送级别”的下拉按钮选择合适的级别,系统默认级别为“普通”。邮件重要程度的标记会显示在邮件列表的前面。
邮件收条设置
邮件收条可以方便您了解邮件的接收状况。如果您想获得收条,勾选“对方收到信时给我回应”前的核对框,选中邮件收条时可以在对方阅读邮件时,给您自动发送对方已经阅读等相关信息的邮件。
发送邮件
点击“发送邮件”按钮,系统发出邮件。如果选择“提示发送成功”选项,发送成功后,系统显示成功信息;如果没有选中该选项,发送成功后回到收件夹页面。
点击“重写邮件”清除当前输入,重新编写邮件内容。若选中“保留一份在寄件夹中”,则发出的邮件将自动保留在您的寄件夹中,以备随时查阅。
如有更多问题, 请咨询网络客服中心。
全国统一客服热线:95105670 咨询邮箱:[email protected]
H. 使用php 怎么发送邮件
你这个是连接的邮件服务器出错了。
估计你本地应该没有装邮件服务器吧,一般都会用第三方的邮件服务器,如smtp.163.com,
去下载个phpmailer,从里面把class.phpmailer.php提取出来,用很好用的。
I. php中怎样写自动发送邮件
思路是这样
php端写好发送邮件的代码
可以参考phpMailer
php是不能实现自动发送,除非你给他一个请求如注册时,发送邮件验证,也是有注册请求才发送的
一版都是在服务器端 执行你写好的PHP文件,比如linux的任务计划功能
J. php怎么写邮件发送
Outlook Express 设置
(提示:如果8、9、10没有设定,会发不出邮件,只能接收)
以中文版 Outlook Express 6 为例,请按以下步骤,手动配置你的客户端:
1、打开 Outlook Express 后,单击窗口中的“工具”菜单,选择“帐户”;
2、点击“邮件”标签,点击右侧的“添加”按钮,在弹出的菜单中选择“邮件”;
3、弹出的对话框中,根据提示,输入你的“显示名”, 然后点击“下一步”;
4、输入你的电子邮件地址,点击“下一步”
5、输入你邮箱的的 POP 和 SMTP 服务器地址:(一般在你的邮箱页面或帮助中有,以下以126邮箱为例说明)
pop: pop.126.com
smtp: smtp.126.com
再点击“下一步”;
6、输入你的帐号及密码(此帐号为登录此邮箱时用的帐号,仅输入 @ 前面的部分),再点击“下一步”;
7、单击“完成”按钮保存你的设置;
8、设置 SMTP 服务器身份验证:在“邮件”标签中,双击刚才添加的帐号,弹出此帐号的属性框;
9、请点击“服务器”标签,然后在“发送邮件服务器”处,选中“我的服务器要求身份验证”选项,并点击右边“设置”标签,选中“使用与接收邮件服务器相同的设置”。
10、点击“确定”,然后“关闭”帐户框。
现在你已设置成功,点击主窗口中的“发送接收”按钮即可进行邮件收发。
(提示:如果8、9、10没有设定,会发不出邮件,只能接收)