PHP 使用PHP发送电子邮件
PHP必须正确配置在 php.ini 文件,该文件包含您的系统发送电子邮件的细节。打开位于 /etc/ 目录中的php.ini文件,并找到名为 [mail function] 的部分。
Windows用户应确保提供两个指令。第一个被称为SMTP,用于定义你的电子邮件服务器地址。第二个被称为sendmail_from,用于定义你自己的电子邮件地址。
Windows的配置应该类似于这样−
Linux用户只需要告诉PHP他们的sendmail应用程序的位置。路径和任何所需的开关应该在sendmail_path指令中指定。
Linux的配置应该看起来像这样-
现在你已经准备好了−
发送纯文本邮件
PHP使用 mail() 函数发送电子邮件。此函数需要三个必需参数,分别是指定收件人的电子邮件地址、消息的主题和实际消息,此外还有其他两个可选参数。
这是每个参数的描述。
序号 | 参数及描述 |
---|---|
1 | to 必需。指定邮件的接收者/接收者 |
2 | subject 必需。指定邮件的主题。此参数不能包含换行符 |
3 | message 必需。定义要发送的消息。每行应用 LF (\n) 分割。行不应超过70个字符 |
4 | headers 可选。指定附加头信息,如 From、Cc 和 Bcc。附加头信息应使用 CRLF (\r\n) 分隔 |
5 | parameters 可选。指定发送邮件程序的其他参数 |
只要调用mail函数,PHP就会尝试发送电子邮件,如果成功则返回true,如果失败则返回false。
可以将多个收件人作为mail()函数的第一个参数指定为逗号分隔的列表。
发送HTML电子邮件
当你使用PHP发送文本消息时,所有的内容都将被视为普通文本。即使你在文本消息中包含HTML标签,它们也将显示为普通文本,而不会按照HTML语法进行格式化。但是PHP提供了发送实际HTML消息的选项。
在发送电子邮件消息时,你可以指定Mime版本、内容类型和字符集来发送HTML电子邮件。
示例
下面的示例将发送一个HTML电子邮件消息到xyz@somedomain.com,并将其抄送到afgh@somedomain.com。你可以编写这个程序,使它从用户那里接收所有内容,然后发送电子邮件。
发送带附件的邮件
要发送一个混合内容的电子邮件,需要设置 内容类型 头部为 multipart/mixed 。然后可以在 边界 内指定文本和附件部分。
一个边界以两个连字符开头,后面跟着一个不能出现在电子邮件的正文部分的唯一数字。PHP函数 md5() 用于创建一个32位的十六进制唯一数字。表示电子邮件最后部分的最终边界也必须以两个连字符结尾。