好得很程序员自学网
  • 首页
  • 后端语言
    • 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框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

php中mail 如何在PHP中使用

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

本文目录一览: 1、 如何在php用mail发送邮件 2、 如何使用php中的mail函数发送html格式的信 3、 如何使用php的mail函数发送邮件 4、 PHP如何使用MAIL函数发邮件 5、 如何使用php的mail函数 6、 PHP mail()的问题 如何在php用mail发送邮件

有两种方法

一、使用PHP内置的mail()函数

二、使用封装SMTP协议的邮件类

具体可以参考这篇文章,希望对你有帮助

如何使用php中的mail函数发送html格式的信

采用?phpmailer类,来做邮件发送,是很多PHP程序所采用的一个类发送

require(ROOT.'/class/phpMailer.class.php');//邮件发送类

/**

*?发送邮件

*?@param?string?$to?接收人邮件地址

*?@param?string?$title?邮件标题

*?@param?string?$contents?邮件内容?支持HTML格式

*?@param?string?$type?判断是否要加附件

*?@param?string?$accessory?附件的名字

*?@return?成功返回true,失败返回错误信息

*/

function?sendEmail($to,$title,$contents,$type?=?'',$accessory?=''){

$mail?=?new?PhpMailer(true);

$mail->IsSMTP();

$mail->CharSet?="UTF-8";//编码

$mail->Debugoutput?=?'html';//?支持HTML格式

$mail->Host?=?T_SMTP_SERVER;//HOST?地址

$mail->Port?=?25;//端口

$mail->SMTPAuth?=?true;

$mail->Username?=?T_SMTP_LOGIN;//用户名

$mail->Password?=?T_SMTP_PASSWORD;//密码

$mail->SetFrom(T_SMTP_FROM,T_SMTP_FROM_NAME);//发件人地址,?发件人名称

$mail->AddAddress($to);//收信人地址

//$mail->Subject?=?"=?utf-8?B?"?.?base64_encode()?.?"?=";

if?(!empty($type))?{

$mail->AddAttachment($type,$accessory);?//?添加附件,并指定名称

}

$mail->Subject?=?$title;//邮件标题

$mail->MsgHTML($contents);

if?($mail->Send()){

return?true;

}else{

return?$mail->errorMessage();

}

}

如何使用php的mail函数发送邮件

如果需要用php的mail()函数来发送邮件,是需要服务器安装sendmail组件才能支持的,这个在php的手册中mail()函数部分也有介绍到。在Ubuntu下安装sendmail的命令:sudo apt-get install sendmail安装好之后,启动sendmail服务:sudo service sendmail start有了sendmail的支持,就可以在php中用mail()函数发送邮件了。

PHP如何使用MAIL函数发邮件

PHP mail 发送邮件

mail

(PHP 4, PHP 5)

mail — 发送邮件

说明

bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )

发送一封电子邮件。

参数

to

电子邮件收件人,或收件人列表。

本字符串的格式必须符合 ? RFC 2822。例如:

user@example测试数据

user@example测试数据, anotheruser@example测试数据

User <user@example测试数据>

User <user@example测试数据>, Another User <anotheruser@example测试数据>

subject

电子邮件的主题。

Caution

本项不能包含任何换行符,否则邮件可能无法正确发送。

message

所要发送的消息。

行之间必须以一个 LF( )分隔。每行不能超过 70 个字符。

Caution

(Windows 下)当 PHP 直接连接到 SMTP 服务器时,如果在一行开头发现一个句号,则会被删掉。要避免此问题,将单个句号替换成两个句号。 <?php

$text = str_replace(" .", " ..", $text);

?>

additional_headers(可选项)

String to be inserted at the end of the email header.

This is typically used to add extra headers (From, Cc, and Bcc). Multiple extra headers should be separated with a CRLF ( ).

如何使用php的mail函数

可以,但是这要需要smtp.163测试数据的用户名与密码

我给你一个邮件发送类,你可以直接用

/*

名称:smtpsend.class.php

功能:邮件发送类,实现邮件发送功能 ,可以发送html邮件;可验证用户是否具有发送权限;可实现从任意服务器邮箱发送邮件,并非局限于本机。

时间:2008-03

author:三生石

$smtpserver; SMTP服务器

$smtpserverport; SMTP服务器端口

$smtpuser; SMTP服务器的用户帐号

$smtppass; SMTP服务器的用户密码

$fromMail; SMTP服务器的用户邮箱

$toMail; 发送给谁

$subject; 邮件主题

$content; 邮件内容

$mailtype; 邮件格式(HTML/TXT),TXT为文本邮件

*/

class smtpclass

{

function smtp($relay_host = "", $smtp_port = 25,$auth = false,$user,$pass)

{

$this->debug = FALSE;

$this->smtp_port = $smtp_port;

$this->relay_host = $relay_host;

$this->time_out = 60; //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, $from, $subject = "", $body = "", $mailtype, $returnpath = "", $cc = "", $bcc = "", $additional_headers = "")

{

$mail_from = $this->get_address($this->strip_comment($from));

$body = ereg_replace("(^|(\r\n))(\.)", "\1.\3", $body);

$header = "";

if(isset($returnpath) $returnpath != "")

{

$header .= "Reply-To:".$returnpath."\r\n";

}

$header .= "MIME-Version:1.0\r\n";

if($mailtype=="HTML"){

$header .= 'Content-Type:text/html; charset=gb2312' . "\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, $sec) = explode(" ", microtime());

$header .= "Message-ID: <".date("YmdHis", $sec).".".($msec*1000000).".".$mail_from.">\r\n";

$TO = explode(",", $this->strip_comment($to));

if ($cc != "") {

$TO = array_merge($TO, explode(",", $this->strip_comment($cc)));

}

if ($bcc != "") {

$TO = array_merge($TO, explode(",", $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, $mail_from, $rcpt_to, $header, $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, $from, $to, $header, $body = "")

{

if (!$this->smtp_putcmd("HELO", $helo)) {

return $this->smtp_error("sending HELO command");

}

#auth

if($this->auth){

if (!$this->smtp_putcmd("AUTH LOGIN", base64_encode($this->user))) {

return $this->smtp_error("sending HELO command");

}

if (!$this->smtp_putcmd("", base64_encode($this->pass))) {

return $this->smtp_error("sending HELO command");

}

}

#

if (!$this->smtp_putcmd("MAIL", "FROM:<".$from.">")) {

return $this->smtp_error("sending MAIL FROM command");

}

if (!$this->smtp_putcmd("RCPT", "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)) {

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, $this->smtp_port, $errno, $errstr, $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("^.+@([^@]+)$", "\1", $address);

if (!@getmxrr($domain, $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, $this->smtp_port, $errno, $errstr, $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(", ", $MXHOSTS).")\n");

return FALSE;

}

function smtp_message($header, $body)

{

fputs($this->sock, $header."\r\n".$body);

$this->smtp_debug("> ".str_replace("\r\n", "\n"."> ", $header."\n> ".$body."\n> "));

return TRUE;

}

function smtp_eom()

{

fputs($this->sock, "\r\n.\r\n");

$this->smtp_debug(". [EOM]\n");

return $this->smtp_ok();

}

function smtp_ok()

{

$response = str_replace("\r\n", "", fgets($this->sock, 512));

$this->smtp_debug($response."\n");

if (!ereg("^[23]", $response)) {

fputs($this->sock, "QUIT\r\n");

fgets($this->sock, 512);

$this->log_write("Error: Remote host returned \"".$response."\"\n");

return FALSE;

}

return TRUE;

}

function smtp_putcmd($cmd, $arg = "")

{

if ($arg != "") {

if($cmd=="") $cmd = $arg;

else $cmd = $cmd." ".$arg;

}

fputs($this->sock, $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, "a"))) {

$this->smtp_debug("Warning: Cannot open log file \"".$this->log_file."\"\n");

return FALSE;;

}

flock($fp, LOCK_EX);

fputs($fp, $message);

fclose($fp);

return TRUE;

}

function strip_comment($address)

{

$comment = "\([^()]*\)";

while (ereg($comment, $address)) {

$address = ereg_replace($comment, "", $address);

}

return $address;

}

function get_address($address)

{

$address = ereg_replace("([ \t\r\n])+", "", $address);

$address = ereg_replace("^.*<(.+)>.*$", "\1", $address);

return $address;

}

function smtp_debug($message)

{

if ($this->debug) {

echo $message;

}

}

function senduserMail($smtpserver,$smtpserverport=25,$smtpuser,$smtppass,$fromMail,$toMail,$subject,$content,$mailtype='HTML')

{

if ($fromMail == "") {

die("发件人不能为空!");

}

if ($smtpuser == "") {

die("用户名不能为空!");

}

if ($smtppass == "") {

die("用户密码不能为空!");

}

if ($subject == "") {

die("标题不能为空!");

}

if ($toMail == "") {

die("收件人不能为空!");

}

if ($content == "") {

die("内容不能为空!");

}

$smtpserver = $smtpserver;//SMTP服务器

$smtpserverport = $smtpserverport;//SMTP服务器端口

$smtpuser = $smtpuser;//SMTP服务器的用户帐号

$smtppass = $smtppass;//SMTP服务器的用户密码

$smtpusermail = $fromMail;//SMTP服务器的用户邮箱

$smtpemailto = $toMail;//发送给谁

$mailsubject = $subject;//邮件主题

$mailbody = $content;//邮件内容

$mailtype = $mailtype;//邮件格式(HTML/TXT),TXT为文本邮件

$this->smtp($smtpserver,$smtpserverport,true,$smtpuser,$smtppass);//这里面的一个true是表示使用身份验证,否则不使用身份验证.

//$smtp->debug = TRUE;//是否显示发送的调试信息

$this->sendmail($smtpemailto, $smtpusermail, $mailsubject, $mailbody, $mailtype);

}

}

//$gao = new smtpclass();

//$gao->senduserMail("mail.163测试数据",25,"用户名","密码","blog.admin@bnet测试数据.cn","sss@zdnet测试数据.cn","测试","测试一下","TXT");

PHP mail()的问题

你的PHP是在WINDOWS上运行吧,那么需要在PHP.INI文件里面检查下面行的内容:

[mail function]

SMTP = localhost

smtp_port = 25

;sendmail_from = me@example测试数据

前面两行设置SMTP的服务器地址和端口,最后一行设置默认的发件人地址(不是必需设置的)。

发信的mail函数格式如下:

bool mail ( string to, string subject, string message [, string additional_headers [, string additional_parameters]] )

前面三个参数是对方地址、邮件标题、正文,例如:

<?php

// The message

$message = "Line 1\nLine 2\nLine 3";

// In case any of our lines are larger than 70 characters, we should use wordwrap()

$message = wordwrap($message, 70);

// Send

mail('caffinated@example测试数据', 'My Subject', $message);

?>

后面的参数可以用来进行设置邮件的头部信息,例如指定发件人地址,例如:

<?php

$to = 'nobody@example测试数据';

$subject = 'the subject';

$message = 'hello';

$headers = 'From: webmaster@example测试数据' . "\r\n" .

'Reply-To: webmaster@example测试数据' . "\r\n" .

'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);

?>

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

查看更多关于php中mail 如何在PHP中使用的详细内容...

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

上一篇: php执行删除文件 php删除数据

下一篇:包含linxuphp的词条

最新资料更新

  • 1.php获取url# php获取url id
  • 2.php判断是否为蜘蛛 php怎么判断是不是数字
  • 3.php爬淘宝图片 php爬取图片
  • 4.redis缓存类php php redis页面缓存
  • 5.php显示字段内容 php限制显示字数
  • 6.php判断08数字 php 判断数字
  • 7.php有关线程问题 php多线程
  • 8.jq调用php数据 php100 jquery教程
  • 9.php设备判断在线 php判断用户在线状态
  • 10.php人员查询系统 php信息查询系统
  • 11.php字母循序排列 php字符串排序
  • 12.关于PHPchmod的信息
  • 13.主流php框架比较 php框架排行2020
  • 14.php编程圆面积 编程实现圆的面积
  • 15.php读取数据库字段值 php读取sql
  • 16.php在线直播详解 php直播用的什么技术
  • 17.php中数据汇总 php数据统计
  • 18.php暂停方法 php 停止执行
  • 19.php链接数据库创建表格 php连接数据库的方法
  • 20.PHP版本在哪调 phpversion

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

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