Php 为什么有时我的电子邮件没有加载地址?

Php 为什么有时我的电子邮件没有加载地址?,php,codeigniter,Php,Codeigniter,当客户进行购买时,我的应用程序会发送一封确认电子邮件。8/10发送正常,但2/10返回错误消息,表示电子邮件地址丢失,无法尝试发送 我已经检查了提供电子邮件的会话,它似乎工作正常。我想知道配置或代码中是否有可以调整以修复问题的内容 非常感谢 以下是我现有的配置/代码: <?php $config['wrapchars'] = '76'; $config['mailtype'] = 'html'; $config['wordwrap'] = TRUE; $config['cr

当客户进行购买时,我的应用程序会发送一封确认电子邮件。8/10发送正常,但2/10返回错误消息,表示电子邮件地址丢失,无法尝试发送

我已经检查了提供电子邮件的会话,它似乎工作正常。我想知道配置或代码中是否有可以调整以修复问题的内容

非常感谢

以下是我现有的配置/代码:

 <?php

$config['wrapchars'] = '76';
  $config['mailtype'] = 'html';
  $config['wordwrap'] = TRUE;
  $config['crlf'] = "\r\n";
  $config['newline'] = "\r\n";
  $this->email->initialize($config);

  $templates = $this->MEmail->getEmailTemplate('2'); 
  $email = $_SESSION['email'];

  foreach($templates->result() as $row)
  {$message = $row->Contents;
   $templatename = $row->Name;
  }

  $pickupdate = $_POST['pickupdate'];
  $pickuplocation = $_POST['location'];
  $start_time=$data['times']['start_time'];
  $endtime=$data['times']['endtime'];

  $data = array(
               'heading' => 'Country Lane Farms: Your Order Details',
               'message' =>$message,
      'firstname' => $_SESSION['firstname'],
           'lastname' => $_SESSION['lastname'],
      'order_num' => $_SESSION['order_num'],
      'totalprice' => $_SESSION['totalprice'],
      'orders'=> $_SESSION['cart'],
      'pickupdate' => $pickupdate,
      'pickuplocation'=> $pickuplocation,
      'start_time' => $start_time,
      'endtime' => $endtime
          );


   $html = $this->load->view('/templates/confirm_order.php',$data, TRUE);
   $this->email->clear();
   $this->email->from('orderdesk@countrylanefarms.com', 'Country Lane Farms (Jerry)');
   $this->email->to($email);
   $this->email->subject($templatename);
   $this->email->message($html); 
   $this->email->send();

?>  

唯一的原因是会话被破坏。我建议创建一个文本文件或数据库日志[不管您希望日志是什么样的],并在日志中记录会话变量,无论是否发送电子邮件消息。这将告诉您可能发生了什么,也许您也想在日志中打印其他变量。

您是否调用了session_start()?