【问题标题】:Add variables to CodeIgniter email call将变量添加到 CodeIgniter 电子邮件调用
【发布时间】:2018-08-04 10:38:14
【问题描述】:

我一直在尝试创建变量以解析到电子邮件类中,以便在 codeigniter 中发送邮件。假设我想向登录用户发送邮件,我决定创建一个变量
uemail = $_SESSION['email'];
但是当我决定将其解析为$this->email->to($uemail); 的电子邮件类时,不会将电子邮件发送到邮箱。但是当我使用$this->email->to('email@email.com'); 时,邮件会正确发送到电子邮件,所以我想我在解析变量时遇到了问题。做$this->email->to($_SESSION['email']); 也不起作用。请帮帮我。
谢谢。

我刚刚用详细的代码更新了我的问题。我希望这有帮助。见下文;

     <?php 
     $this->Sendmails_model->sendmail();
     $uemail = $_SESSION['email'];
     $this->email->to($uemail);
     $this->email->subject('Email subject here'); 
     $maildata = array(
       'firstName' => $_SESSION['first'],
       'content' => 'Email content here'
     );

  $body = $this->load->view('emails/basic',$maildata,TRUE);

  $this->email->message($body);

  $this->email->send();
?>

【问题讨论】:

  • 你能粘贴更详细的代码吗?
  • @AsoStrife 好的。让我用代码的更多细节更新我的问题。
  • 我试过你的代码,但它对我有用。 $this-&gt;Sendmails_model-&gt;sendmail(); 是什么?
  • $this-&gt;Sendmails_model-&gt;sendmail(); 是我有我的电子邮件配置的模型。
  • @AsoStrife 你是对的。代码没有问题。接收邮件的服务器出现问题,因此从未发送或传递。

标签: php codeigniter email


【解决方案1】:

要设置会话变量,您必须使用此语法,

$this->session->userdata('session_variable');

查看@Vickel 评论中的链接,$_SESSION['session_variable'] 也可能在 CodeIgniter 中使用。因此,代码没有问题。

根据您的评论,问题出在接收电子邮件的服务器上,因此我们可能认为此问题已解决。

【讨论】:

  • 感谢@Bhavin 的回答。在我的大部分代码中,我将会话变量解析为$_SESSION,它们运行良好。只是它不适用于电子邮件。好吧,我继续尝试您的方法$this-&gt;session-&gt;userdata('session_variable');,但仍然没有运气。我的会话库是自动加载的。您认为是什么原因造成的?
  • 您可以查看带有额外代码的更新问题。
  • 您是否尝试过打印会话变量 echo $uemail 的结果是什么?因为可能存在一个问题,即会话未正确设置在该变量中。
  • In codeigniter you can't use $_SESSION. 不正确:来自文档:Any piece of information from the session array is available through the $_SESSION superglobal: $_SESSION['item'] 请参阅:codeigniter.com/user_guide/libraries/…
  • @Bhavin 你能更正你答案的第一行吗?请看我之前的评论
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多