首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在phpmailer消息体中使用变量

如何在phpmailer消息体中使用变量
EN

Stack Overflow用户
提问于 2016-01-04 11:25:00
回答 2查看 7.8K关注 0票数 2

我正在编辑一个表单,当用户填写并发送它时,我想作为邮件接收它。我以前在邮件中收到过变量,比如: Name:$name。现在,contact.php返回一个空白页,我无法以邮件的形式接收表单。

我试过之前,

代码语言:javascript
复制
$body_message = 'Name: ' . $name . "\r\n"; 
$body_message .= 'E-mail: ' . $mail_from . "\r\n"; 
$body_message .= 'Message: ' . $message;

但不起作用。同时,

代码语言:javascript
复制
$mail->Body = '<b>You have a reservation!</b>
Name: $name
Surname: $surname
Phone: $phone
Mail: $mail
Address: $address
Services: $check
';

现在我的代码:

代码语言:javascript
复制
$name = $_POST['name'];
$surname = $_POST['surname'];
$mail = $_POST['mail'];
$phone = $_POST['phone'];
$address= $_POST['address'];

if(!empty($_POST['check_list'])) {
    foreach($_POST['check_list'] as $check) {           
        return $check;
    }
}

$mail->Subject = 'Reservation';
$mail->Body    = '<b>You have a reservation!</b></br>'
.'Name: '.$name.'</br>'
.'Surname: '.$surname.'</br>'
.'Mail: '.$mail.'</br>'
.'Phone: '.$phone.'</br>'
.'Address: '.$address.'</br>'
.'Services: '.$check;

if(!$mail->send()) {
    echo 'Message could not be sent.';
    echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
    echo 'Message has been sent';
    header('Location: index.php');
    exit();
}
EN

Stack Overflow用户

回答已采纳

发布于 2016-01-04 11:30:25

您的代码有两个错误。

1.)您从表单中将电子邮件地址分配给$mail。然后访问应该被误认为是$mail实例的PHPMailer实例。

代码语言:javascript
复制
$mail = $_POST['mail'];
....
....
$mail->Subject = 'Reservation';
$mail->Body    = '<b>You have a reservation!</b></br>'
....
....

2.)你要退出执行程序

代码语言:javascript
复制
if(!empty($_POST['check_list'])) {
    foreach($_POST['check_list'] as $check) {           
        return $check;
    }
}

Fix

代码语言:javascript
复制
$name    = $_POST['name'];
$surname = $_POST['surname'];
$email   = $_POST['mail'];
$phone   = $_POST['phone'];
$address = $_POST['address'];
$services= array();

if (!empty($_POST['check_list']) && is_array($_POST['check_list'])) {
    foreach ($_POST['check_list'] as $check) {           
        $services[] = $check;
    }
}

$mail = new PHPMailer;
//other PHPMailer config options
....
....
$mail->Subject = 'Reservation';
$mail->Body    = '<b>You have a reservation!</b></br>'
.'Name: '.$name.'</br>'
.'Surname: '.$surname.'</br>'
.'Mail: '.$email.'</br>'
.'Phone: '.$phone.'</br>'
.'Address: '.$address.'</br>'
.'Services: '. implode(', ', $services);

if (!$mail->send()) {
    echo 'Message could not be sent.';
    echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
    echo 'Message has been sent';
    header('Location: index.php');
    exit();
}
票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34590065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档