CodeIgniter-メールの送信
CodeIgniterでメールを送信する方がはるかに簡単です。また、CodeIgniterで電子メールに関する設定を構成します。CodeIgniterは、メールを送信するために次の機能を提供します-
- 複数のプロトコル-メール、Sendmail、SMTP
- SMTPのTLSおよびSSL暗号化
- 複数の受信者
- CCおよびBCC
- HTMLまたはプレーンテキストの電子メール
- Attachments
- ワードラップ
- Priorities
- BCCバッチモード。大きなメーリングリストを小さなBCCバッチに分割できます。
- Eメールデバッガーツール
電子メールクラスには、電子メールの送信作業を簡素化するための次の関数があります。
SN | 構文 | パラメーター | 戻る | 戻り値の型 |
---|---|---|---|---|
1 | from($ from [、$ name = '' [、$ return_path = NULL ]]) | $from(文字列)-「差出人」の電子メールアドレス $name(文字列)-「From」表示名 $return_path(文字列)-未配信の電子メールをリダイレクトするオプションの電子メールアドレス |
CI_Emailインスタンス(メソッドチェーン) | CI_Email |
2 | reply_to($ replyto [、$ name = '' ]) | $replyto(文字列)-返信用の電子メールアドレス $name(文字列)-返信先メールアドレスの表示名 |
CI_Emailインスタンス(メソッドチェーン) | CI_Email |
2 | to($ to) | $to(混合)-カンマ区切りの文字列または電子メールアドレスの配列 |
CI_Emailインスタンス(メソッドチェーン) | CI_Email |
3 | cc($ cc) | $cc(混合)-カンマ区切りの文字列または電子メールアドレスの配列 |
CI_Emailインスタンス(メソッドチェーン) | CI_Email |
4 | bcc($ bcc [、$ limit = '' ]) | $bcc(混合)-カンマ区切りの文字列または電子メールアドレスの配列 $limit(int)-バッチごとに送信する電子メールの最大数 |
CI_Emailインスタンス(メソッドチェーン) | CI_Email |
5 | subject($ subject) | $subject(文字列)-電子メールの件名 |
CI_Emailインスタンス(メソッドチェーン) | CI_Email |
6 | メッセージ($ body) | $body(文字列)-電子メールメッセージ本文 |
CI_Emailインスタンス(メソッドチェーン) | CI_Email |
7 | set_alt_message($ str) | $str(文字列)-代替の電子メールメッセージ本文 |
CI_Emailインスタンス(メソッドチェーン) | CI_Email |
8 | set_header($ header、$ value) | $header(文字列)-ヘッダー名 $value(文字列)-ヘッダー値 |
CI_Emailインスタンス(メソッドチェーン) | CI_Email |
9 | clear([ $ clear_attachments = FALSE ]) | $clear_attachments(bool)–添付ファイルをクリアするかどうか |
CI_Emailインスタンス(メソッドチェーン) | CI_Email |
10 | send([ $ auto_clear = TRUE ]) | $auto_clear(bool)-メッセージデータを自動的にクリアするかどうか |
CI_Emailインスタンス(メソッドチェーン) | CI_Email |
11 | attach($ filename [、$ disposition = '' [、$ newname = NULL [、$ mime = '']]]) | $filename(文字列)-ファイル名 $disposition(文字列)-添付ファイルの「配置」。ほとんどの電子メールクライアントは、ここで使用されているMIME仕様に関係なく、独自の決定を行います。iana $newname(文字列)-電子メールで使用するカスタムファイル名 $mime(文字列)-使用するMIMEタイプ(バッファリングされたデータに役立ちます) |
CI_Emailインスタンス(メソッドチェーン) | CI_Email |
12 | attachment_cid($ filename) | $filename(文字列)-既存の添付ファイル名 |
添付ファイルのコンテンツ-IDまたは見つからない場合はFALSE | ストリング |
メールを送信する
CodeIgniterを使用して電子メールを送信するには、最初に次を使用して電子メールライブラリをロードする必要があります-
$this->load->library('email');
ライブラリをロードした後、次の関数を実行して、電子メールを送信するために必要な要素を設定します。ザ・from() 関数を使用して、電子メールの送信元と to()関数が使用されます-電子メールの送信先。ザ・subject() そして message() 関数は、電子メールの件名とメッセージを設定するために使用されます。
$this->email->from('[email protected]', 'Your Name');
$this->email->to('[email protected]');
$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 = "[email protected]";
$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>
に変更を加えます routes.php ファイルに application/config/routes.php ファイルの最後に次の行を追加します。
$route['email'] = 'Email_Controller';
次のリンクにアクセスして、上記の例を実行します。yoursite.comをサイトのURLに置き換えます。
http://yoursite.com/index.php/email