在PHP中使用mail()函数发送邮件,在本地主机smtp GMAIL上使用XAMPP

在PHP中使用mail()函数发送邮件,在本地主机smtp GMAIL上使用XAMPP,php,yii,smtp,sendmail,tcpdf,Php,Yii,Smtp,Sendmail,Tcpdf,我必须发送一些带有chunk_分割的附件,所以我必须使用简单的邮件功能,不能使用其他东西,如PHPMAILER、swiftMAILER、 我的当前设置PHP.ini SMTP=smtp.gmail.com smtp_port=587 sendmail_from=xyz@gmail.com sendmail_path = "\"D:\xampp\sendmail\sendmail.exe\" -t" 发送设置 smtp_port=587 smtp_ssl=tls auth_username=

我必须发送一些带有chunk_分割的附件,所以我必须使用简单的邮件功能,不能使用其他东西,如PHPMAILER、swiftMAILER、

我的当前设置PHP.ini

SMTP=smtp.gmail.com
smtp_port=587

sendmail_from=xyz@gmail.com

sendmail_path = "\"D:\xampp\sendmail\sendmail.exe\" -t"
发送设置

smtp_port=587
smtp_ssl=tls
auth_username=xyz@gmail.com
auth_password=xyz
设置是否正确。。。我可以通过YiiMail分机发送。。但是由于一些附件,我不得不补充说。。我受不了那件事

在邮件中,我必须这样做,这样我就不能使用其他东西,如SWIFT/PHP-MAILER

$pdf是TCPDF对象,我正在移动中附加pdf,而不是保存在本地磁盘上


PHPMAILER本身支持chunksplit 配置PHPMAILER并重试


$mail->AddAttachment$_FILES['Upload_file']['tmp_name'],$_FILES['Upload_file']['name']

我必须添加不在磁盘上的文件。。。我必须附上pdf文件,这是从TCPDF生成的。。。所以我没有将该文件保存到我的磁盘。。。在中,只需将其添加为base64数据
    $_SESSION['pdf'] = $pdf->Output("order_receipt.pdf", "S");  

    $attachment[0] = chunk_split(base64_encode($_SESSION['pdf']));

    $headers .= "--" . $separator . $eol;
    $headers .= "Content-Type: application/octet-stream; name=\"" . $lable[0] . "\"" . $eol;
    $headers .= "Content-Transfer-Encoding: base64" . $eol;
    $headers .= "Content-Disposition: attachment" . $eol . $eol;
    $headers .= $attachment[0] . $eol . $eol;