gpt4 book ai didi

php - 如何使用php在codeigniter中动态生成pdf附件来发送多封邮件?

转载 作者:行者123 更新时间:2023-11-29 10:05:07 25 4
gpt4 key购买 nike

public function multisalarySlippdf_mail(){

$file = 'Salary Slip';
$pdfFilePath1 = FCPATH . "uploads/".$file.".pdf";
if(file_exists($pdfFilePath1)){
unlink($pdfFilePath1);
}
$this->load->library('m_pdf');// load mpdf library
$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'ssl://smtp.googlemail.com',
'smtp_port' => 465,
'smtp_user' => 'abc@gmail.com',
'smtp_pass' => 'pccpl525',
'charset' => 'iso-8859-1',
'mailtype' => 'html',
'charset' => 'utf-8',
'newline' => '\r\n',
'crlf' => '\n',
'wordwrap' => TRUE

);
$salaries = $this->report->fetchAlldata();// fetching salary data from
database using report model

foreach($salarie as $sal){
$emailid = $sal->official_email; // fetch email ids from the database
if(!empty($emailid)){
$html = $this->load->view('admin/salarySlippdf',
['salaries'=>$sal,
'workingDays'=>$working_days,
'present'=>$present,
'absent'=>$absent,'extraday'=>$extraday,],true);
}
$this->m_pdf->pdf->WriteHTML($html);
$this->m_pdf->pdf->Output($pdfFilePath1, "F");// saved file in given path
$subject = " Salary Slip";
$message = "Please Download file".' '.$emailid;
$this->load->library('email', $config);
//$this->email->clear(TRUE);
$this->email->set_newline("\r\n");
$this->email->from('xyz@gmail.com');
$this->email->to($emailid);
$this->email->subject($subject);
$this->email->message($message);
$this->email->attach($pdfFilePath1);
if($this->email->send()){
echo "send";
}
else{
show_error($this->email->print_debugger());
}unlink($pdfFilePath1);
}
}
return redirect('admin/report/salaryslipmail');
}

我的代码可以完美发送邮件,但附件有问题。在邮件附件中,一名员工收到了他的工资单,但第二名员工也在一封邮件中收到了第一个员工的附件(相同)两次,第三名员工也收到了三次相同的附件。我不知道我的代码问题出在哪里。我对 Php 知之甚少。请指导我。提前致谢。

最佳答案

您需要取消注释:

$this->电子邮件->clear(true);

此方法会清除上一封电子邮件中的电子邮件数据和附件。因此,它将解决 1,2,3,4.... 附件的问题,我也认为它会解决同一文件的问题 - 因为文件具有相同的路径。

来自文档:

将所有电子邮件变量初始化为空状态。如果您在循环中运行电子邮件发送方法,则可以使用此方法,从而允许在循环之间重置数据。

此外,在循环中加载库是不好的做法,因此最好将 '$this->load->library('email', $config)' 放在 '$config' 定义之后

关于php - 如何使用php在codeigniter中动态生成pdf附件来发送多封邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52069637/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com