【问题标题】:In PHP Mailer Mail does not work with template在 PHP Mailer Mail 中不能使用模板
【发布时间】:2014-05-19 08:13:46
【问题描述】:

我可以使用$mail->Body = "test...."; 发送文本邮件,但是当我使用模板时,它不起作用。

  $mail->IsHTML(true);
  $mail->Body = $this->load->view("contact", $this->home_data, true);

【问题讨论】:

    标签: codeigniter email phpmailer


    【解决方案1】:

    您需要在控制器中调用$this->load->library('email'); 以及 CI 中的电子邮件才能工作。 此外,在您的代码中:$fromemail 未初始化。 您需要在您的服务器上支持 SMTP。 $config 应在分配值和键之前声明为数组。 工作代码:

    $this->load->library('email');
    $fromemail="ad@c.com";
    $toemail = "user@email.id";
    $subject = "Mail Subject is here";
    $mesg = $this->load->view('template/email',true);
    
    $this->load->library('email');
    
    $config=array(
    'charset'=>'utf-8',
    'wordwrap'=> TRUE,
    'mailtype' => 'html'
    );
    
    $this->email->initialize($config);
    
    $this->email->to($toemail);
    $this->email->from($fromemail, "Title");
    $this->email->subject($subject);
    $this->email->message($mesg);
    $mail = $this->email->send();
    

    编辑:$mesg = $this->load->view('template/email',true); 应该是 lycanian 所指出的。通过将其设置为 true ,它不会将数据发送到输出流,而是会以字符串的形式返回。

    这对我有用,试试吧。

    【讨论】:

    • 感谢您的回复..它也适用于我,但它会延迟大约 10-15 分钟。此问题仅发生在具有模板结构的邮件上。如果您有任何避免延误的想法,请提出建议
    • 你是在本地主机还是实时服务器上尝试?
    • 正在直播服务器上尝试。
    • 我猜您尝试连接的 SMTP 邮件服务器会发送导致页面滞后的电子邮件,从而使邮件运行缓慢。
    猜你喜欢
    • 2011-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-18
    • 1970-01-01
    • 2011-08-24
    • 2011-01-08
    • 1970-01-01
    相关资源
    最近更新 更多