【问题标题】:Add a second email address from $_SESSION['email'] and send 2 mails从 $_SESSION['email'] 添加第二个电子邮件地址并发送 2 封邮件
【发布时间】:2016-10-03 06:46:48
【问题描述】:

编辑:

$recipient = $_SESSION['email'];

没用,但是

$recipient = "myemail@me.com";

像魅力一样工作。


我有一个联系表,但我想向使用该联系表的人发送另一封电子邮件。

所以当他们点击订单时总共需要发送2封邮件(订单确认用于管理,订单确认给买家)

他/她的电子邮件地址存储在 $_SESSION['email'] 中,但如果我将其放在收件人字段中,我将无法使用它...

<? 
if ($_SERVER['REQUEST_METHOD'] == "POST") { 
    if (!$_POST['currentamount'] && !$_POST['nextamount']) { 
        $error_msg ="- You have to order atleast one ticket.<br>"; 
    } 
    if ($_POST['currentamount'] && !$_POST['date1']) { 
        $error_msg ="- You didn't select a date for the current show<br>"; 
    } 
    if ($_POST['nextamount'] && !$_POST['date2']) { 
        $error_msg ="- You didn't select a date the the next show.<br>"; 
    } 

    if (!empty($error_msg)) { 
        //Een van de velden werd niet goed ingevuld 
        echo "<b>Your message can't be send due to the following reason:</b>    <br><br>"; 
        echo $error_msg; 
        echo "<br>Click on <a href='javascript:history.back(1)'>Go back</a> and provide us with the needed information.<br><br>"; 
    } else {
        $recipient = "tickets@*******.com"; //Het email adres van de persoon die vragen moet ontvangen.
        $subject = "MTP: Ticket Order"; //Subject van de mail.
        $header = "From: noreply@*********";
        $mail_body = "Contact script werd op " . date("d-m-Y") . " om " . date("H:i") . " uur uitgevoerd.\n";
        $mail_body .= "De volgende persoon zou graag kaarten bestellen:\n";
        $mail_body .= "Naam: " . $_POST['name2'] . "\n";
        $mail_body .= "Met als kaartnummer: " . $_POST['card2'] . "\n\n";
        $mail_body .= "For the " . $_POST['currentshow'] . ", ". $_POST['name2'] ." would like ". $_POST['currentamount'] ." tickets on date: " . $_POST['date1'] . ".\n";
        $mail_body .= "For the " . $_POST['nextshow'] . ", ". $_POST['name2'] ." would like ". $_POST['nextamount'] ." tickets on date: " . $_POST['date2'] . ".\n";
        $mail_body .= "This gives us a total of : " . $_POST['total2'] . " EUR\n";
        $mail_body .= "\n\n -- ****** --";
        mail($recipient, $subject, $mail_body, $header);
        print "<b>IMPORTANT!</b>";
        print "<br><br>Thank you for your reservation.";
        print "<br><br>We are looking forward to meet you.";
    }              
} else {
?>

【问题讨论】:

  • 您是否尝试打印 $_SESSION 的值以查看是否存储了正确的值?
  • 确实存储了值,使其出现在输入文本字段中。
  • 您将电子邮件地址分配给收件人的代码在哪里?
  • 应该会看到$recipient = $_SESSION['email'];
  • 我尝试输入'$recipient = $_SESSION['email'];'但它没有用:s

标签: php email contact-form


【解决方案1】:

编辑:也许您可以尝试将$_SESSION['email'] 作为字符串存储在变量$recipient 中。因此,在将电子邮件存储在收件人变量中之前,将其转换为字符串,它可以工作。

实际上,您可以使用一个操作页面,其中有 2 个调用邮件程序,一个用于发送给管理员的电子邮件,一个用于发送给客户的电子邮件。你可以试试这样的:

<?php
// email_sender and email_desitination
$sender_name = "My Name";
$mail_sender = "no-reply@example.com";
$mail_recipient = "customer@gmail.com";

//  subject and mail body
$mail_subject = "Your subject";
$mail_body = "Your message";

// mail headrs
// section for From and some Cc, Bcc, ReplyTo e X-Mailer
$mail_headers = "From: " .  $sender_name . " <" .  $mail_sender . ">\r\n";
$mail_headers .= "Reply-To: " .  $mail_sender . "\r\n";
$mail_headers .= "X-Mailer: PHP/" . phpversion();

if (mail($mail_recipient, $mail_subject, $mail_body, $mail_headers))
  echo "Message sent " . $mail_sender;
else
  echo "Error.";

// second email

// email_sender and email_desitination
$sender_name = "My Name";
$mail_sender = "no-reply@example.com";
$mail_recipient = "customer@gmail.com";

//  subject and mail body
$mail_subject = "Your subject";
$mail_body = "Your message";

// mail headrs
// section for From and some Cc, Bcc, ReplyTo e X-Mailer
$mail_headers = "From: " .  $sender_name . " <" .  $mail_sender . ">\r\n";
$mail_headers .= "Reply-To: " .  $mail_sender . "\r\n";
$mail_headers .= "X-Mailer: PHP/" . phpversion();

if (mail($mail_recipient, $mail_subject, $mail_body, $mail_headers))
  echo "Message sent " . $mail_sender;
else
  echo "Error.";


?>

您可以从同一个 action.php 页面发送多封电子邮件

【讨论】:

    【解决方案2】:

    你应该像这样设置你的接收者变量:

    $user_mail =  $_SESSION['email'];
    $recipient = "tickets@*******.com,$user_mail";
    

    然后像你一样邮寄它

    mail($recipient, $subject, $mail_body, $header);
    

    【讨论】:

    • 没问题,很高兴为您提供帮助:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-27
    • 2013-07-29
    • 2017-02-05
    相关资源
    最近更新 更多