【问题标题】:How can I send fetching data from database via mail如何通过邮件发送从数据库中获取的数据
【发布时间】:2017-01-13 10:07:39
【问题描述】:
<?php       
    while($row = $result->fetch_assoc()) 
    {
        echo "<br>  ". $row["description"]. " <br>";
    } 
?>

当用户输入他们的姓名并根据该姓名提交时,结果将从数据库中显示在单独的页面中。我添加了邮件功能。邮件功能正常。但是如何在 PHP 中显示结果(从数据库中获取数据)发送邮件

$subject2 = "Copy of your form submission";
$message = $row["description"];

mail($to,$subject,$message,$headers);  
  • 邮件正在发送空邮件。它没有显示从数据库中获取数据。

【问题讨论】:

  • $subject2 =/= $subject就这么简单
  • 你有一个名为$headers的变量吗?如果有,它包含什么
  • @RiggsFolly $headers = "来自:" 。 $来自; $subject2 = "您提交的表单副本"; $to = 'mymailid'; $message = $row["描述"];邮件($to,$subject,$message,$headers);这里邮件功能正在工作。如何在邮件中不添加获取数据。它就像空邮件一样

标签: php mysql phpmailer


【解决方案1】:

试试这个

$to = 'You@example.com';
$subject = "Copy of your form submission";

$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$headers .= "Content-Transfer-Encoding: 8bit\n";
$headers .= "From: you@example.com\n";
$message = $row["description"];

mail($to,$subject,$message,$headers);  

【讨论】:

  • 我已经试过这段代码了。但邮件发送为空。它不使用 mysql fetch data.data 正在显示。 $message = $row["description"];但不发送到邮件ID。 $message 没有发送到邮件。
【解决方案2】:

您可以使用另一种最好的方法发送电子邮件,swiftmailer 可以在 composer 中工作并包含发送电子邮件的类。 您可以使用 smtp 和在所有服务中发送 google , yahoo , ... dot get spam folder , just in inbox

   //Create the Transport.
    $transport = \Swift_SmtpTransport::newInstance('smtp.ddd.com', 587, 'tls')
        ->setUsername('noreply@ddd.com')
        ->setPassword('iFv0(W6Ltl=r')
        ->setStreamOptions(array(
            'ssl' => array(
                'verify_peer' => false,
                'verify_peer_name' => false,
                'allow_self_signed' => true
            )
        )
        );

    //Create the message
    $message = \Swift_Message::newInstance();

    //Give the message a subject
    $message->setSubject($title)
      ->setFrom('noreply@ddd.com')
      ->setTo($email) 
      ->setBody($title, 'text/html')
      ->addPart($body, 'text/html');

    //Create the Mailer using your created Transport
    $mailer = \Swift_Mailer::newInstance($transport);

    //Send the message
    $result = $mailer->send($message);

    if ($result) {
      echo "Email sent successfully";
    }
    else
    {
      echo "Email failed to send";
    }

【讨论】:

    【解决方案3】:

    第一:

    var_dump($result->fetch_assoc());exit;
    

    如果数组包含一个值,那么继续:

    <?php       
        while($row = $result->fetch_assoc()) 
        {
            echo "<br>  ". $row["description"]. " <br>";
        } 
    ?
    

    在这里,您可以从关联数组中获取结果。将其存储在这样的变量中:

    //store data in Description variable
    $description='';
    <?php       
        while($row = $result->fetch_assoc()) 
        {
            $description=$description."<br>".$row["description"]."<br>";
        } 
    ?>
    
    //send mail
    mail($to,$subject,$description,$headers);
    

    【讨论】:

    • $message 中的内容;
    • 谢谢。我在上面添加了两个代码意味着结果正在显示。但不发送到邮件。如果我添加 $description=''; fetch_assoc()) { $description=$description."
      ".$row["description"]."
      "; } ?> - MAil 正在发送但结果未显示。但我需要显示结果以及需要发送邮件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-09
    • 2021-10-17
    • 1970-01-01
    • 2017-01-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多