昨天就想着给博客加个“给我发邮件板块”用以访客快速简单联系站长于是今天开始做
php 从脚本直接发送电子邮件。
方法一:使用php mail() 函数
php mail() 函数用于从脚本中发送电子邮件。 语法 mail(to,subject,message,headers,parameters) 参数 描述
- to 必需。规定 email 接收者。
- subject 必需。规定 email 的主题。注释:该参数不能包含任何新行字符。
- message 必需。定义要发送的消息。应使用 lf (\n) 来分隔各行。
- headers 可选。规定附加的标题,比如 from、cc 以及 bcc。应当使用 crlf (\r\n) 分隔附加的标题。
- parameters 可选。对邮件发送程序规定额外的参数。
- 首先在服务器端配置好sendmail,打开sendmail配置文件修改sendmail.ini smtp_server=smtp.qq.com smtp_port=465 auth_username=test@qq.com auth_password=123456 force_sender=test@qq.com
- sendmail可以使用phpstudy中带的,以上服务器端配置好。
新建表单:
给我发邮件
新建文件sendmail.php
' . "\r\n";
mail($to,$subject,$message,$headers);
echo "mail sent.";
?>
此时运行大功告成!
更新:
方法二:使用phpmailer
phpmailer是一个用于发送电子邮件的函数包。直接用php就可以发送,无需搭建复杂的email服务
使用方法:
- 使用composer下载phpmailer 常用composer依赖包
- 项目中加载引用
- 开始使用(如下示例)
#composer
composer require phpmailer/phpmailer
使用示例
function cmf_send_email($address, $subject, $message,$smtpsetting)
{
$mail = new \phpmailer\phpmailer\phpmailer();
// 设置phpmailer使用smtp服务器发送email
$mail->issmtp();
$mail->ishtml(true);
//$mail->smtpdebug = 3;
// 设置邮件的字符编码,若不指定,则为'utf-8'
$mail->charset = 'utf-8';
// 添加收件人地址,可以多次使用来添加多个收件人
$mail->addaddress($address);
// 设置邮件正文
$mail->body = $message;
// 设置邮件头的from字段。
$mail->from = $smtpsetting['from'];
// 设置发件人名字
$mail->fromname = $smtpsetting['from_name'];
// 设置邮件标题
$mail->subject = $subject;
// 设置smtp服务器。
$mail->host = $smtpsetting['host'];
//by rainfer
// 设置smtpsecure。
$secure = $smtpsetting['smtp_secure'];
$mail->smtpsecure = empty($secure) ? '' : $secure;
// 设置smtp服务器端口。
$port = $smtpsetting['port'];
$mail->port = empty($port) ? "25" : $port;
// 设置为"需要验证"
$mail->smtpauth = true;
$mail->smtpautotls = false;
$mail->timeout = 10;
// 设置用户名和密码。
$mail->username = $smtpsetting['username'];
$mail->password = $smtpsetting['password'];
// 发送邮件。
if (!$mail->send()) {
$mailerror = $mail->errorinfo;
return ["error" => 1, "message" => $mailerror];
} else {
return ["error" => 0, "message" => "success"];
}
}
目前评论:0