php实现表单发邮件 发邮件给站长 -j9九游会真人游戏第一品牌

昨天就想着给博客加个“给我发邮件板块”用以访客快速简单联系站长于是今天开始做

php 从脚本直接发送电子邮件。

方法一:使用php mail() 函数

php mail() 函数用于从脚本中发送电子邮件。 语法 mail(to,subject,message,headers,parameters) 参数 描述

  1. to 必需。规定 email 接收者。
  2. subject 必需。规定 email 的主题。注释:该参数不能包含任何新行字符。
  3. message 必需。定义要发送的消息。应使用 lf (\n) 来分隔各行。
  4. headers 可选。规定附加的标题,比如 from、cc 以及 bcc。应当使用 crlf (\r\n) 分隔附加的标题。
  5. parameters 可选。对邮件发送程序规定额外的参数。
  6. 首先在服务器端配置好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
  7. sendmail可以使用phpstudy中带的,以上服务器端配置好。

新建表单:

给我发邮件

你的名字:
你的e-mail:
邮件标题:
邮件内容:

新建文件sendmail.php

' . "\r\n";
    mail($to,$subject,$message,$headers);
    echo "mail sent.";
?>

此时运行大功告成!

更新:

方法二:使用phpmailer

phpmailer是一个用于发送电子邮件的函数包。直接用php就可以发送,无需搭建复杂的email服务

使用方法:

#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