確保您已設置適當的電子郵件喜好發送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的用戶指南還specifies that:
如果您發送的HTML郵件,你必須把它作爲一個完整的網頁。
所以,這意味着包括所有的,你會用它來創建一個網頁(<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()
等,但這些應該很容易解決。)