PHP - 使用PHP发送电子邮件

必须在 php.ini 文件中正确配置PHP,并提供系统发送电子邮件的详细信息。打开 / etc / 目录中的php.ini文件,找到 [mail function] 的部分。

Windows用户应该确保提供了两个指令。第一种称为SMTP,用于定义您的电子邮件服务器地址。第二个叫做sendmail_from,它定义了你自己的电子邮件地址。

Windows的配置看起来应该是这样的−

 
[邮件功能]
;仅适用于Win32。
SMTP = smtp.secureserver.net
;对于win32,只需
sendmail_from = admin@it1352.com

Linux用户只需要让PHP知道 sendmail的位置申请。应该为sendmail_path指令指定路径和任何所需的开关。

Linux的配置应该类似于−

 
[邮件功能]
;仅适用于Win32。
SMTP =
;对于win32,只需
sendmail_from =
;对于Unix,只需
sendmail_path = / usr / sbin / sendmail -t -i

现在你准备去减去;

发送纯文本电子邮件

PHP使用 mail()函数发送电子邮件。此函数需要三个强制参数来指定收件人的电子邮件地址,邮件的主题和实际邮件另外还有其他两个可选参数。

 
邮件(到,主题,消息,标题,参数);

以下是每个参数的说明。

Sr.No 参数&说明
1

必填。指定电子邮件的接收者/接收者

2

主题

必填。指定电子邮件的主题。此参数不能包含任何换行符

3

消息

必填。定义要发送的消息。每行应使用LF(\ n)分隔。行不应超过70个字符

4

标题

可选。指定其他标头,例如From,Cc和Bcc。额外的标题应该用CRLF分隔(\\ n)

5

参数

可选。指定发送邮件程序的附加参数

一旦调用邮件函数,PHP将会尝试发送电子邮件然后如果成功则返回true或如果失败则返回false。

可以在逗号分隔列表中将多个收件人指定为mail()函数的第一个参数。

发送HTML电子邮件

使用PHP发送短信时,所有内容都将被视为简单文本。即使您在文本消息中包含HTML标记,它也将显示为简单文本,HTML标记将不会根据HTML语法进行格式化。但PHP提供了将HTML消息作为实际HTML消息发送的选项。

发送电子邮件时,您可以指定Mime版本,内容类型和字符集来发送HTML电子邮件。

示例

以下示例将向xyz@somedomain.com发送HTML电子邮件,并将其复制到afgh@somedomain.com。您可以对这个程序进行编码,使其能够接收用户的所有内容,然后发送电子邮件。

 
< html> ;
< head>
< title>使用PHP< / title>发送HTML电子邮件
< / head>
< body>
<?php
$ to ="xyz@somedomain.com";
$ subject ="这是主题";
$ message ="< b>这是HTML消息。< / b>";
$ message。="< h1>这是标题。< / h1>";
$ header ="来自:abc@somedomain.com \\\\ n";
$ header。="抄送:afgh@somedomain.com \\ n";
$ header。="MIME-Version:1.0 \\ n";
$ header。="Content-type:text / html\r\ n";
$ retval = mail($ to,$ subject,$ message,$ header);
if($ retval == true){
echo"消息已成功发送...";
} else {
echo"无法发送消息......";
}
?>
< / body>
< / html>

使用电子邮件发送附件

要发送包含混合内容的电子邮件,需要设置内容类型标题为 multipart / mixed 。然后可以在边界中指定文本和附件部分。

边界以两个连字符开头,后跟一个唯一的编号,该编号不能出现在电子邮件。 PHP函数 md5()用于创建32位十六进制数以创建唯一编号。表示电子邮件最后部分的最后边界也必须以两个连字符结尾。

 
<?php
//请求变量//重要
$ from = $ _REQUEST ["from"];
$ emaila = $ _REQUEST ["emaila"];
$ filea = $ _REQUEST ["filea"];
if($ filea){
function mail_attachment($ from,$ to,$ subject,$ message,$ attachment){
$ fileatt = $ attachment; //文件的路径
$ fileatt_type ="application / octet-stream"; //文件类型
$ start = strrpos($ attachment,'/')== -1?
strrpos($ attachment,'//'):strrpos($ attachment,'/')+ 1;
$ fileatt_name = substr($ attachment,$ start,
strlen($ attachment)); //将用于
文件的文件名作为附件
$ email_from = $ from ;; //电子邮件来自
$ subject ="新附件消息";
$ email_subject = $ subject; //电子邮件的主题
$ email_txt = $ message; //电子邮件中包含的消息
$ email_to = $ to; //电子邮件是谁b
$ headers ="From:"。$ email_from;
$ file = fopen($ fileatt,'rb');
$ data = fread($ file,filesize($ fileatt));
fclose($ file);
$ msg_txt ="\ n \ n您已收到来自$的新附件消息";
$ semi_rand = md5(time());
$ mime_boundary ="== Multipart_Boundary_x {$ semi_rand} x";
$ headers。="\ nMIME-Version:1.0 \ n"。 "内容类型:multipart / mixed; \ n"。 "
boundary = \"{$ mime_boundary} \"";
$ email_txt。= $ msg_txt;
$ email_message。="这是MIME格式的多部分邮件。\ nn \ n"。
" - {$ mime_boundary} \ n"。 "Content-Type:text / html;
charset = \"iso-8859-1 \"\ n"。 "Content-Transfer-Encoding:7bit\\\
\ n"。
$ email_txt。 "\\\
\\\
";
$ data = chunk_split(base64_encode($ data));
$ email_message。=" - {$ mime_boundary} \ n"。 "内容类型:{$ fileatt_type}; \ n"。
"name = \"{$ fileatt_name} \"\ n"。 //"内容 - 处置:附件; \ n"。
//"filename = \"{$ fileatt_name} \"\ n"。 "Content-Transfer-Encoding:
base64 \ n \ n"。 $ data。 "\ n \\ n"。 " - {$ mime_boundary} - \\\
";
$ ok = mail($ email_to,$ email_subject,$ email_message,$ headers);
if($ ok){
echo"File Sent Successfully。";
unlink($ attachment); //发送附件后删除文件。
}其他{
die("抱歉,但无法发送电子邮件。请回去再试一次!");
}
}
move_uploaded_file($ _ FILES ["filea"] ["tmp_name"],
'temp /'。basename($ _ FILES ['filea'] ['name "]));
mail_attachment("$ from","youremailaddress@gmail.com",
"subject","message",("temp /\".$_ FILES ["filea"] ["名称"]));
}
?>
< html>
< head>
< script language ="javascript"type ="text / javascript">
函数CheckData45(){
with(document.filepost){
if(filea.value!=""){
document.getElementById('one')。innerText =
"附加档案......请等待";
}
}
}
< / 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">您的姓名:< / td>
< / tr>
< tr>
< td>< input name ="from"type ="text"
id ="from"size ="30">< / td>
< / tr>
< tr valign ="bottom">
< td height ="20">您的电子邮件地址:< / td>
< / tr>
< tr>
< td class ="frmtxt2">< input name ="emaila"
type ="text"id ="emaila"size ="30">< / td>
< / tr>
< tr>
< td height ="20"valign ="bottom">附加文件:< / 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>