📅  最后修改于: 2020-10-21 05:11:21             🧑  作者: Mango
必须在php.ini文件中正确配置PHP,并详细说明系统如何发送电子邮件。打开/ etc /目录中可用的php.ini文件,并找到标题为[邮件函数]的部分。
Windows用户应确保提供了两个指令。第一个称为SMTP,它定义您的电子邮件服务器地址。第二个称为sendmail_from,它定义您自己的电子邮件地址。
Windows的配置应如下所示:
[mail function]
; For Win32 only.
SMTP = smtp.secureserver.net
; For win32 only
sendmail_from = webmaster@tutorialspoint.com
Linux用户只需要让PHP知道他们sendmail应用程序的位置即可。路径和任何所需的开关应指定给sendmail_path指令。
Linux的配置应该看起来像这样-
[mail function]
; For Win32 only.
SMTP =
; For win32 only
sendmail_from =
; For Unix only
sendmail_path = /usr/sbin/sendmail -t -i
现在您可以开始了-
PHP利用mail()函数发送电子邮件。此函数需要三个必填参数,用于指定收件人的电子邮件地址,邮件主题和实际邮件,另外还有两个可选参数。
mail( to, subject, message, headers, parameters );
这是每个参数的说明。
Sr.No | Parameter & Description |
---|---|
1 |
to Required. Specifies the receiver / receivers of the email |
2 |
subject Required. Specifies the subject of the email. This parameter cannot contain any newline characters |
3 |
message Required. Defines the message to be sent. Each line should be separated with a LF (\n). Lines should not exceed 70 characters |
4 |
headers Optional. Specifies additional headers, like From, Cc, and Bcc. The additional headers should be separated with a CRLF (\r\n) |
5 |
parameters Optional. Specifies an additional parameter to the send mail program |
一旦调用了邮件函数,PHP将尝试发送电子邮件,如果成功,它将返回true;如果失败,则将返回false。
可以将多个收件人指定为逗号分隔列表中mail()函数的第一个参数。
当您使用PHP发送文本消息时,所有内容将被视为简单文本。即使您将HTML标签包含在文本消息中,它也将显示为简单文本,并且不会根据HTML语法设置HTML标签的格式。但是PHP提供了将HTML消息作为实际HTML消息发送的选项。
发送电子邮件时,您可以指定Mime版本,内容类型和字符集来发送HTML电子邮件。
以下示例将向xyz@somedomain.com发送HTML电子邮件,并将其复制到afgh@somedomain.com。您可以使用以下方式对该程序进行编码:它应从用户那里接收所有内容,然后再发送电子邮件。
Sending HTML email using PHP
This is HTML message.";
$message .= "This is headline.
";
$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...";
}
?>
要发送包含混合内容的电子邮件,需要将Content-type标头设置为multipart / mixed 。然后可以在边界内指定文本和附件节。
边界以两个连字符开头,后跟一个唯一的数字,该数字不能出现在电子邮件的消息部分中。 PHP函数md5()用于创建32位十六进制数字以创建唯一数字。表示电子邮件最后部分的最后边界也必须以两个连字符结尾。