>백엔드 개발 >PHP 튜토리얼 >phpmailer에서 바인딩 메일함을 구현하는 방법

phpmailer에서 바인딩 메일함을 구현하는 방법

墨辰丷
墨辰丷원래의
2018-05-30 09:22:581523검색

이 글은 주로 phpmailer 바인딩 메일함의 구현 방법을 소개하며, phpmailer 바인딩 메일함의 구성, 기능 구현, 관련 운용 기술을 예시 형식으로 자세히 분석합니다. 필요한 친구들이 참고할 수 있습니다

효과는 다음과 같습니다. :

1.

<?php
return array (
 &#39;email_host&#39; => &#39;smtp.aliyun.com&#39;,
 &#39;email_port&#39; => &#39;25&#39;,
 &#39;email_username&#39; => &#39;diandodo@aliyun.com&#39;,
 &#39;email_password&#39; => &#39;xxxxxx&#39;,
 &#39;email_from&#39; => &#39;diandodo@aliyun.com&#39;,
 &#39;email_fromname&#39; => &#39;点多多&#39;,
 &#39;email_subject&#39; => &#39;助店宝商户激活邮箱&#39;,
 &#39;email_body&#39; => "尊敬的用户{$username}您好:
    您的激活码为<font color=&#39;red&#39;>{$code}</font>,请将激活码输入进行验证! 激活码有效期为6分钟^_^",
);

기능 구성

// 发送邮件
private function _sendEmail($email,$code,$username = &#39;&#39;) {
    import(&#39;@.ORG.phpmailer&#39;);
    $mail = new PHPMailer(); //建立邮件发送类,类名不一定与引入的文件名相同
    $mail->CharSet = "UTF-8";
    $mail->IsSMTP(); // 使用SMTP方式发送
    $mail->Host = C(&#39;email_host&#39;); // 您的企业邮局域名
    $mail->SMTPAuth = true; // 启用SMTP验证功能
    $mail->Username = C(&#39;email_username&#39;); // 邮局用户名(请填写完整的email地址)
    $mail->Password = C(&#39;email_password&#39;); // 邮局密码
    $mail->Port=C(&#39;email_port&#39;);
    $mail->From = C(&#39;email_from&#39;); //邮件发送者email地址
    $mail->FromName = C(&#39;email_fromname&#39;);
    $mail->AddAddress("$email", "$username");
    $mail->IsHTML(true); // set email format to HTML //是否使用HTML格式
    $mail->Subject = C(&#39;email_subject&#39;); //邮件标题
    $email_body = "尊敬的用户<strong>{$username}</strong>您好:
    您的激活码为<font color=&#39;red&#39;>{$code}</font>,请将激活码输入进行验证! 激活码有效期为6分钟^_^";
    $mail->Body = $email_body; //邮件内容,上面设置HTML,则可以是HTML
    if(!$mail->Send())
    {
      return array(&#39;status&#39;=>2,&#39;info&#39;=>$mail->ErrorInfo);
    } else {
      return array(&#39;status&#39;=>1,&#39;info&#39;=>&#39;发送成功&#39;);;
    }
}

3.

rreee

4.검증 및 바인딩

// 发送邮箱激活码
public function sendActivationcode() {
    session($this->activationtime, null);
    $activationtime = session($this->activationtime);
    $email = $this->_post(&#39;email&#39;, &#39;trim&#39;);
    if (IS_AJAX && (!$activationtime || time() > $activationtime)) {
      $activationcode = rand(1000, 9999);
      $res = $this->_sendEmail($email,$activationcode,$this->user[&#39;username&#39;]);
      if($res[&#39;status&#39;] == 1) {
        //设置发送限制时间
        session($this->activationtime, time() + 50);
        session($this->activationcode, array(&#39;code&#39; => $activationcode, &#39;time&#39; => time() + 600));
        $this->ajaxReturn(array(&#39;result&#39; => true));
      } else {
        //发送失败写入日志文件
        $log = date(&#39;Y-m-d H:i:s&#39;) . " 发送失败:{$res[&#39;info&#39;]}" . PHP_EOL;
        file_put_contents(RUNTIME_PATH . &#39;Log/activationcode.log&#39;, $log, FILE_APPEND);
        $this->ajaxReturn(array(&#39;result&#39; => false, &#39;error&#39; => $res[&#39;info&#39;]));
      }
    } else {
      $this->ajaxReturn(array(&#39;result&#39; => false, &#39;error&#39; => &#39;错误的请求&#39;));
    }
}

위 내용은 이 글의 전체 내용이며, 모든 분들의 학습에 도움이 되기를 바랍니다.


관련 권장 사항:

php적법한 ID 번호인지 여부를 판단하는 일반 판단을 구현하는 방법

phpeval을 사용하여 문자열 형식의 계산 공식을 구현합니다

임의성을 구현하는 PHP WeChat

에서 차단되지 않는 도메인 이름을 가져옵니다.

위 내용은 phpmailer에서 바인딩 메일함을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.