通过PHP发送带有IF条件的电子邮件

通过PHP发送带有IF条件的电子邮件,php,email,Php,Email,我试图通过PHP发送电子邮件,其中正文依赖于几个if语句 我知道在mail()函数中不能调用if语句,所以我想知道的是,是否可以在许多变量中声明body项,然后将它们调用到mail()函数体中 到目前为止,我所拥有的如下所示,但我相信你可以猜到,它不起作用,非常感谢你的反馈 if (!empty($phone)) {$email_phone = echo 'Phone Number: ' $phone \r\n}; mail('email@domain.com', 'New Vi

我试图通过PHP发送电子邮件,其中正文依赖于几个if语句

我知道在mail()函数中不能调用if语句,所以我想知道的是,是否可以在许多变量中声明body项,然后将它们调用到mail()函数体中

到目前为止,我所拥有的如下所示,但我相信你可以猜到,它不起作用,非常感谢你的反馈

if (!empty($phone)) {$email_phone = echo 'Phone Number: ' $phone \r\n};
        mail('email@domain.com', 'New Visitor Information', "Hello Pastor,\r\n\r\nWe had a new visitor on " . $visit_date . "\r\n\r\nTheir Details:\r\n\r\nName: " . $first_name . " " . $last_name . "\r\n" . $email_phone . " ");
试试这个

<?php
    if (!empty($phone)) {$email_phone = "Phone Number: ".$phone; };
            mail('user@domain.com', 'New Visitor Information', "Hello Pastor Steve,\r\n\r\nWe had a new visitor on " . $visit_date . "\r\n\r\nTheir Details:\r\n\r\nName: " . $first_name . " " . $last_name . "\r\n" . $email_phone . " ");

            ?>

试试这个

<?php
    if (!empty($phone)) {$email_phone = "Phone Number: ".$phone; };
            mail('user@domain.com', 'New Visitor Information', "Hello Pastor Steve,\r\n\r\nWe had a new visitor on " . $visit_date . "\r\n\r\nTheir Details:\r\n\r\nName: " . $first_name . " " . $last_name . "\r\n" . $email_phone . " ");

            ?>

首先构建主体,然后发送:

$body = 'Hello, world';
if ($some_condition) {
   $body .= " blah blah blah";
}
if ($other_condition) {
   $body .= "blah blah blah";
}
mail(....);

首先构建主体,然后发送:

$body = 'Hello, world';
if ($some_condition) {
   $body .= " blah blah blah";
}
if ($other_condition) {
   $body .= "blah blah blah";
}
mail(....);
这样,邮件只有在有电话号码值时才会被发送


这样,邮件只有在有电话号码值的情况下才会发送。

我一直这样做:

$mailTo = "steve@domain.com";
$subject = "New Visitor Information";

$message=array();
$message[] = "Hello Pastor Steve,";
$message[] = "";
$message[] = "We had a new visitor on " . $visit_date;
$message[] = "";
$message[] = "Their Details:";
$message[] = "";
$message[] = "Name: " . $first_name . " " . $last_name;
$message[] = "";

if (!empty($phone)) {
    $message[] = "Phone Number: " . $phone;
}

$message = implode("\r\n", $message);

mail($mailTo, $subject, $message);

我使用数组来表示一些字符串。这比使用点运算符浓缩字符串要快得多。所以它的格式更清晰,所以你可以更清楚地发现空行。现在您可以看到如何正确使用if子句和变量。

我一直这样做:

$mailTo = "steve@domain.com";
$subject = "New Visitor Information";

$message=array();
$message[] = "Hello Pastor Steve,";
$message[] = "";
$message[] = "We had a new visitor on " . $visit_date;
$message[] = "";
$message[] = "Their Details:";
$message[] = "";
$message[] = "Name: " . $first_name . " " . $last_name;
$message[] = "";

if (!empty($phone)) {
    $message[] = "Phone Number: " . $phone;
}

$message = implode("\r\n", $message);

mail($mailTo, $subject, $message);

我使用数组来表示一些字符串。这比使用点运算符浓缩字符串要快得多。所以它的格式更清晰,所以你可以更清楚地发现空行。现在您可以看到如何正确使用if子句和变量。

{$email\u phone=echo'电话号码:'$phone\r\n};--这个街区看起来真奇怪。检查这是否是你想要写的。为了澄清需要什么(似乎我没有做得很好),我需要电子邮件只包括某些行,如果数据是在for中提交的,即我不想要电话号码:显示变量$Phone是否为空。我已经创建了发送电子邮件所需的条件,但根据我上面的解释,{$email\u phone=echo'电话号码:'$phone\r\n};--这个街区看起来真奇怪。检查这是否是你想要写的。为了澄清需要什么(似乎我没有做得很好),我需要电子邮件只包括某些行,如果数据是在for中提交的,即我不想要电话号码:显示变量$Phone是否为空。我已经创建了发送电子邮件的条件,但是根据我上面的解释,电子邮件的内容也处于条件下,同时对Grant put所做的做了轻微的修改。谢谢大家,我可以一直依靠SO让我走上正确的轨道。请投票表决您使用的任何评论或答案,以便我们可以从我们的贡献中受益?这一点,以及Grant put所做的轻微修改。谢谢大家,可以一直依靠SO让我走上正确的轨道。请更新您使用的任何评论或答案,以便我们可以从我们的贡献中获益?这种方式可能会奏效,但不幸的是,此脚本必须发送3封不同的电子邮件,使用该脚本可能会导致大量重复,这是不必要的,我选择的答案最适合我的需要(是的,我知道我在问题中没有提到,但只是澄清一下),这种方式可以工作,但不幸的是,这个脚本必须发送3封不同的电子邮件,使用它可能会导致大量重复,这是不必要的,我选择的答案最适合我的需要(是的,我知道我在问题中没有提到这一点,只是澄清一下)