2013-02-03 168 views
0

我不确定从何处开始执行此任务,因此我正在寻找关于如何执行此操作的想法的答案。“问题查看电子邮件?在线查看电子邮件?” Codeigniter电子邮件中的独特链接

当新用户在我的Codeigniter网站上创建帐户时,我会向他/她发送一封关于注册的电子邮件(非常典型)。以下是我如何发送电子邮件...

... 

$subject = 'Welcome to __________, ' . $firstName . '!'; 
$emailData = array(
    'name' => $name, 
    'blah' => $blah, 
    'blah' => $blah, 
    // etc. 
); 
$html_email = $this->load->view('emails/signup_html_view', $emailData, true); 
$text_email = $this->load->view('emails/signup_text_view', $emailData, true); 
$this->email->from('[email protected]_________.com', '________ Team'); 
$this->email->to($to); 
$this->email->subject($subject); 
$this->email->message($html_email); 
$this->email->set_alt_message($text_email); 
$this->email->send(); 

... 

正如你所看到的,我将数据传递给这些视图来发送电子邮件。在电子邮件视图的顶部,我有一个链接,上面写着“问题查看电子邮件?点击这里在线查看”。对于通讯,注册电子邮件等的电子邮件来说,这是常见的做法,以便用户可以在线查看电子邮件,如果电子邮件呈现奇怪或出现问题。

当我迷路是如何生成的独特“...在线查看。”链接,这样当用户点击它,他们看到的电子邮件和在线版的在线版本仍然有所有的数据仍然传递给它?我是否需要创建一个单独的控制器或处理该问题的最佳方法是什么?我如何生成独特的链接?

回答

1

@zach,

是的,你做的是:

1)创建一个单独的控制器,可以显示该邮件,就像你做一个页面

2)我”假设用户已经在数据库中创建,但尚未激活或采取措施才能登录。所以,备份一下,当你制作你的用户记录时,也会创建一个随机的标签存储标签&。现在

,在电子邮件中的链接,将其设置为www.mysite.com/welcome/hashtag

这样,你让他们得到一个唯一的记录,而不使用,他们可以只使用去看看一个id在其他人

此欢迎页面,当然,并不要求他们在登录。也许你给他们一个提交(他们填写后,也许一些更多的信息),那么,这将激活他们的帐户

希望已经足够接近你要求你通过

+0

谢谢!这非常有意义,并且可以完美地工作。你如何建议我生成随机hashtag存储?做这部分的最佳/安全的方式是什么? –

+0

我只是使用CodeIgniter字符串助手的Random_string()函数,并将其放入用户表中,如激活字段 – jmadsen

相关问题