📜  PHP-使用PHP发送电子邮件

📅  最后修改于: 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()函数的第一个参数。

发送HTML电子邮件

当您使用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位十六进制数字以创建唯一数字。表示电子邮件最后部分的最后边界也必须以两个连字符结尾。




   
      
      
      
   
   
      
      
Your Name:
Your Email Address:
Attach File: