CodeIgniter教程

CodeIgniter 发送电子邮件

在 CodeIgniter 中发送电子邮件要容易得多。您还可以在 CodeIgniter 中配置有关电子邮件的首选项。 CodeIgniter 提供以下发送电子邮件的功能-
多种协议-邮件、Sendmail 和 SMTP 用于 SMTP 的 TLS 和 SSL 加密 多个收件人 抄送和密件抄送 HTML 或纯文本电子邮件 附件 自动换行 优先事项 密件抄送批处理模式,可将大型电子邮件列表分解为小型密件抄送批次。 电子邮件调试工具
Email 类具有以下功能以简化发送电子邮件的工作。
语法 Parameters Returns Return Type
from($from[, $name = ''[, $return_path = NULL]])
$from ( string)-"发件人"电子邮件地址
$name ( string) − "发件人"显示名称
$return_path ( string) − 可选电子邮件地址,用于重定向未送达的电子邮箱邮寄到
CI_Email 实例(方法链) CI_Email
reply_to($replyto[, $name = ''])
$replyto ( string)-回复的电子邮件地址
$name ( string)-回复电子邮件地址的显示名称
CI_Email 实例(方法链) CI_Email
to($to)
$to ( mixed)-逗号分隔的字符串或电子邮件地址数组
CI_Email 实例(方法链) CI_Email
cc($cc)
$cc ( mixed)-逗号分隔的字符串或电子邮件地址数组
CI_Email 实例(方法链) CI_Email
bcc($bcc[, $limit = ''])
$bcc ( mixed)-逗号分隔的字符串或电子邮件地址数组
$limit ( int)-每批发送的最大电子邮件数量
CI_Email 实例(方法链) CI_Email
subject($subject)
$subject ( string)-电子邮件主题行
CI_Email 实例(方法链) CI_Email
message($body)
$body ( string) − 电子邮件正文
CI_Email 实例(方法链) CI_Email
set_alt_message($str)
$str ( string)-替代电子邮件正文
CI_Email 实例(方法链) CI_Email
set_header($header, $value)
$header ( string) − 标题名称
$value ( string)-标题值
CI_Email 实例(方法链) CI_Email
clear([$clear_attachments = FALSE])
$clear_attachments ( bool) – 是否清除附件
CI_Email 实例(方法链) CI_Email
send([$auto_clear = TRUE])
$auto_clear ( bool) − 是否自动清除消息数据
CI_Email 实例(方法链) CI_Email
attach($filename[, $disposition = ''[, $newname = NULL[, $mime = '']]])
$filename ( string) − 文件名
$disposition ( string)-附件的"处置"。无论此处使用的 MIME 规范如何,大多数电子邮件客户端都会做出自己的决定。 iana
$newname ( string)-在电子邮件中使用的自定义文件名
$mime ( string)-要使用的 MIME 类型(用于缓冲数据)
CI_Email 实例(方法链) CI_Email
attachment_cid($filename)
$filename ( string) − 现有附件文件名
附件 Content-ID 或 FALSE(如果未找到) 字符串

发送电子邮件

要使用 CodeIgniter 发送电子邮件,首先您必须使用以下命令加载电子邮件库-
$this->load->library('email');
加载库后,只需执行以下函数即可设置发送电子邮件所需的元素。 from() 函数用于设置-从哪里发送电子邮件和 to() 函数用于设置-电子邮件将发送给谁。 subject()message() 函数用于设置电子邮件的主题和消息。
$this->email->from('your@example.com', 'Your Name');
$this->email->to('someone@example.com');
 
$this->email->subject('Email Test');
$this->email->message('Testing the email class.');
之后,执行如下所示的 send()函数来发送电子邮件。
$this->email->send();

示例

创建控制器文件 Email_controller.php 并将其保存在 application/controller/Email_controller.php 中。
<?php 
   class Email_controller extends CI_Controller { 
 
      function __construct() { 
         parent::__construct(); 
         $this->load->library('session'); 
         $this->load->helper('form'); 
      } 
    
      public function index() { 
  
         $this->load->helper('form'); 
         $this->load->view('email_form'); 
      } 
  
      public function send_mail() { 
         $from_email = "your@example.com"; 
         $to_email = $this->input->post('email'); 
   
         //Load email library 
         $this->load->library('email'); 
   
         $this->email->from($from_email, 'Your Name'); 
         $this->email->to($to_email);
         $this->email->subject('Email Test'); 
         $this->email->message('Testing the email class.'); 
   
         //Send mail 
         if($this->email->send()) 
         $this->session->set_flashdata("email_sent","Email sent successfully."); 
         else 
         $this->session->set_flashdata("email_sent","Error in sending Email."); 
         $this->load->view('email_form'); 
      } 
   } 
?>
创建一个名为 email_form.php 的视图文件并将其保存在 application/views/email_form.php
<!DOCTYPE html> 
<html lang = "en"> 
   <head> 
      <meta charset = "utf-8"> 
      <title>CodeIgniter Email Example</title> 
   </head>
  
   <body> 
      <?php 
         echo $this->session->flashdata('email_sent'); 
         echo form_open('/Email_controller/send_mail'); 
      ?> 
    
      <input type = "email" name = "email" required /> 
      <input type = "submit" value = "SEND MAIL"> 
    
      <?php 
         echo form_close(); 
      ?> 
   </body>
  
</html>
application/config/routes.php 中的 routes.php 文件中进行更改,并在文件末尾添加以下行。
$route['email'] = 'Email_Controller';
通过访问以下链接执行上述示例。将 yoursite.com 替换为您网站的网址。
http://yoursite.com/index.php/email
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4