如何在我的电子邮件模板中使用从数据库中获取的变量值

时间:2018-05-15 06:05:37

标签: php mysql codeigniter email

我的电子邮件格式

$confirmationcode = rand(10, 1000);
$unumber = uniqid();
$message= '<html><head></head><body>
          <div style="height:600px; width:100%; "> 
            <h3>'.$fetch_tration.'<br></div></body> </html>';

        $config['protocol'] = 'smtp';
        $config['smtp_host'] = 'ssl://smtp.gmail.com';
        $config['smtp_port'] = 465;
        $config['smtp_user'] = 'example@example.com';
        $config['smtp_pass'] = '************';
        $config['charset'] = 'utf-8';
        $config['wordwrap'] = TRUE;
        $this->load->library('email');
        $this->email->initialize($config);
        $this->email->set_newline("\r\n");
        $this->email->from('example@example.com', 'Admin Team');
        $this->email->to(example@example.com);
        $this->email->subject('Confirm  Registration');
        $this->email->message($message);
        $this->email->set_mailtype('html');
        $this->email->send();  
电子邮件中的

$ fetch_tration是一个看起来像

的电子邮件模板
  

请通过www.doamin.Com确认您的注册

其中确认文字有类似的链接     http://example.com/mycon/emailconfirmation/&#39; $ confirmationcode&#39; /&#39; $ UNumber当前&#39;

我想要将$ confirmationcode和$ unumber替换为在邮件时分配的值。 当有人注册而不是电子邮件发送成功但变量$ confirmationcode和$ unumber未在链接中分配。当用户点击确认链接时,感谢收到错误,如

  

您提交的URI不允许使用字符。

请帮忙 感谢提前

1 个答案:

答案 0 :(得分:1)

如果您使用CodeIgniter作为您的框架,那么您可以直接从配置文件中允许允许的字符。

$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-=';

您能否上传完整链接,以便于理解确切的问题。

http://example.com/mycon/emailconfirmation/'.$confirmationcode.'/'.$unumber.'

如果您将上链接作为点击按钮,那么它完全错误,您必须使用&#34; str_replace&#34;用于从模板替换url的函数。

EXA:

$emaildata['message'] = file_get_contents(ASSETS_URL.'email_templates/filename');
$emaildata['message'] = str_replace('ReplacetagName', $YourVariable, $emaildata['message']);