PHP中的电子邮件函数
PHP提供了一些内置的电子邮件函数,用于发送电子邮件。这些函数包括`mail()`、`sendmail()`和`postmail()`。其中,`mail()`函数是最常用的,它使用服务器上的邮件系统来发送电子邮件。要使用`mail()`函数,您需要设置一个SMTP服务器,并提供发件人、收件人和邮件内容等信息。此外,您还可以使用其他函数来处理电子邮件,例如`gethostbyname()`用于获取主机名对应的IP地址,`inet_ntop()`用于将IP地址转换为点分十进制表示法等。
PHP电子邮件函数原型
mail(to,subject,message,headers,parameters)
参数描述
to 必需。规定 email 接收者。
subject 必需。规定 email 的主题。注释:该参数不能包含任何新行字符。
message 必需。定义要发送的消息。应使用 LF (n) 来分隔各行。每行应该限制在 70 个字符内。
headers 可选。规定附加的标题,比如 From、Cc 和 Bcc。应当使用 CRLF (rn) 分隔附加的标题。
parameters 可选。对邮件发送程序规定额外的参数。
注释:PHP 需要一个已安装且正在运行的邮件系统,以便使邮件函数可用。所用的程序通过在 php.ini 文件中的配置设置进行定义。
简单邮件示例
通过 PHP 发送电子邮件的最简单的方式是发送一封文本 email。
在下面的实例中,我们首先声明变量($to, $subject, $message, $from, $headers),然后我们在 mail() 函数中使用这些变量来发送了一封 e-mail:
<?php$to="someone@example.com";$subject="Testmail";$message="Hello!Thisisasimpleemailmessage.";$from="someonelse@example.com";$headers="From:".$from;mail($to,$subject,$message,$headers);echo"MailSent.";?>
带表单的邮件
通过 PHP,您能够在自己的站点制作一个反馈表单。下面的实例向指定的 e-mail 地址发送了一条文本消息:
<html><body><?phpif(isset($_REQUEST['email']))//if"email"isfilledout,sendemail{//sendemail$email=$_REQUEST['email'];$subject=$_REQUEST['subject'];$message=$_REQUEST['message'];mail("someone@example.com",$subject,$message,"From:".$email);echo"Thankyouforusingourmailform";}else//if"email"isnotfilledout,displaytheform{echo"<formmethod='post'action='mailform.php'>Email:<inputname='email'type='text'><br>Subject:<inputname='subject'type='text'><br>Message:<br><textareaname='message'rows='15'cols='40'></textarea><br><inputtype='submit'></form>";}?></body></html>
首先,检查是否填写了邮件输入框,如果未填写(比如在页面被首次访问时),输出 HTML 表单;如果已填写(在表单被填写后),从表单发送电子邮件。当填写完表单点击提交按钮后,页面重新载入,可以看到邮件输入被重置,同时显示邮件发送成功的消息。