php mail()函数用方实例
时间:2015-11-14
本文讲解php mail函数的使用实例, mail()函数可以发送html邮件,还可以发送带附件的邮件。本文将依次实例讲解。
定义和用法
mail() 函数允许您从脚本中直接发送电子邮件。
如果邮件的投递被成功地接收,则返回 true,否则返回 false。
语法
mail(to,subject,message,headers,parameters)
参数 | 描述 |
to | 必需。规定邮件的接收者。 |
subject | 必需。规定邮件的主题。该参数不能包含任何换行字符。 |
message | 必需。规定要发送的消息。 |
headers | 必需。规定额外的报头,比如 From, Cc 以及 Bcc。 |
parameters | 必需。规定 sendmail 程序的额外参数。 |
说明
在 message 参数规定的消息中,行之间必须以一个 LF(\n)分隔。每行不能超过 70 个字符。 (Windows 下)当 PHP 直接连接到 SMTP 服务器时,如果在一行开头发现一个句号,则会被删掉。要避免此问题,将单个句号替换成两个句号。
<?php
$text = str_replace("\n.", "\n..", $text);
?>
实例一:发送html邮件
<html>
<head>
<title>Sending HTML email using PHP</title>
</head>
<body>
<?php
$to = "xyz@somedomain.com";
$subject = "This is subject";
$message = "<b>This is HTML message.</b>";
$message .= "<h1>This is headline.</h1>";
$header = "From:abc@somedomain.com \r\n";
$header = "Cc:afgh@somedomain.com \r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-type: text/html\r\n";
$retval = mail ($to,$subject,$message,$header);
if( $retval == true )
{
echo "Message sent successfully...";
}
else
{
echo "Message could not be sent...";
}
?>
</body>
</html>
实例二:发送带附件的邮件
<?php
// request variables // important
$from=$_REQUEST["from"];
$emaila=$_REQUEST["emaila"];
$filea=$_REQUEST["filea"];
if ($filea)
{
function mail_attachment ($from , $to, $subject, $message, $attachment){
$fileatt = $attachment; // Path to the file
$fileatt_type = "application/octet-stream"; // File Type
$start = strrpos($attachment, '/') == -1 ? strrpos($attachment, '//') : strrpos($attachment, '/')+1;
$fileatt_name = substr($attachment, $start, strlen($attachment)); // Filename that will be used for the file as the attachment
$email_from = $from; // Who the email is from
$subject = "New Attachment Message";
$email_subject = $subject; // The Subject of the email
$email_txt = $message; // Message that the email has in it
$email_to = $to; // Who the email is to
$headers = "From: ".$email_from;
$file = fopen($fileatt,'rb');
$data = fread($file,filesize($fileatt));
fclose($file);
$msg_txt="\n\n You have recieved a new attachment message from $from";
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
$headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\"";
$email_txt .= $msg_txt;
$email_message .= "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type:text/html; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $email_txt . "\n\n";
$data = chunk_split(base64_encode($data));
$email_message .= "--{$mime_boundary}\n" . "Content-Type: {$fileatt_type};\n" . " name=\"{$fileatt_name}\"\n" . //"Content-Disposition: attachment;\n" . //" filename=\"{$fileatt_name}\"\n" . "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n" . "--{$mime_boundary}--\n";
$ok = mail($email_to, $email_subject, $email_message, $headers);
if($ok)
{
echo "File Sent Successfully.";
unlink($attachment); // delete a file after attachment sent.
}
else
{
die("Sorry but the email could not be sent. Please go back and try again!");
}
}
move_uploaded_file($_FILES["filea"]["tmp_name"],'temp/'.basename($_FILES['filea']['name']));
mail_attachment("$from", "youremailaddress@gmail.com", "subject", "message", ("temp/".$_FILES["filea"]["name"]));
}
?>
<html>
<head>
<script language="javascript" type="text/javascript">
function CheckData45()
{
with(document.filepost)
{
if(filea.value != "")
{
document.getElementById('one').innerText = "Attaching File ... Please Wait";
}
}
}
</script>
</head>
<body>
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="center">
<form name="filepost" method="post" action="file.php" enctype="multipart/form-data" id="file">
<table width="300" border="0" cellspacing="0" cellpadding="0">
<tr valign="bottom">
<td height="20">Your Name:</td>
</tr>
<tr>
<td><input name="from" type="text" id="from" size="30"></td>
</tr>
<tr valign="bottom">
<td height="20">Your Email Address:</td>
</tr>
<tr>
<td class="frmtxt2"><input name="emaila" type="text" id="emaila" size="30"> </td>
</tr>
<tr>
<td height="20" valign="bottom">Attach File:</td>
</tr>
<tr valign="bottom">
<td valign="bottom"><input name="filea" type="file" id="filea" size="16"></td>
</tr>
<tr>
<td height="40" valign="middle"><input name="Reset2" type="reset" id="Reset2" value="Reset">
<input name="Submit2" type="submit" value="Submit" onClick="return CheckData45()"></td>
</tr>
</table>
</form>
<center>
<table width="400">
<tr>
<td id="one">
</td>
</tr>
</table>
</center>
</td>
</tr>
</table>
</body>
</html>
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC