電子メールを HTML 形式で送信するための適切な電子メール設定、特に次の設定を行っていることを確認しますmailtype
。
//You can add more email preferences here too
$config['mailtype'] = html;
$this->email->initialize($config);
$link = "www.domain.com/profile/forgot_password?user=".$username . "&key=".$key;
$this->email->message('You requested to reset your password. Follow the link. <a href="'.$link.'"> ' . $link . "</a>. Thank you,System Support.");
必要に応じて、メール設定を構成ファイルに保存できます。
という名前の新しいファイルを作成し、そのファイルに配列をemail.php
追加するだけです。$config
次に、ファイルを保存するconfig/email.php
と、自動的に使用されます。
CodeIgniter のユーザー ガイドでは、次のことも指定されています。
HTML メールを送信する場合は、完全な Web ページとして送信する必要があります。
つまり、Web ページの作成に使用するすべての関連タグ ( など) を含めることを意味し<html>
ます<body>
。これを管理しやすくするために、電子メール テンプレートをビューファイルに保存できます。次に例を示します。
application/views/email_templates/password_reset.php
このファイルには、電子メールとして送信する関連 HTML を含めることができます。次に例を示します。
//Other appropriate HTML tags...
<p>You requested to reset your password. Follow the link. <a href="<?php echo $link; ?>"><?php echo $link; ?></a>. Thank you, System Support.</p>
//Other appropriate HTML tags...
次に、リンクをビューに渡し、ビューを電子メールとして送信できます。
$data['link'] = "www.domain.com/profile/forgot_password?user=".$username . "&key=".$key;
$email_message = $this->load->view('email_templates/password_reset', $data, true);
$this->email->message($email_message);
(必要な電子メール機能 ( など) をすべて含めたわけではありませんが、to()
簡単send()
に解決できるはずです。)