donglu1971 2015-05-27 05:52
浏览 45
已采纳

如何通过php邮件发送电子邮件到从数据库中获取的地址

I have made page where the user enters the data & send email.First i want to insert data into db & then trigger mail to registered email id.Till now i was manually typing the email id. What should be done to fetch the email id from database & send it.

    <?php 
    $host="localhost"; // Host name 
    $username="root"; // Mysql username 
    $password=""; // Mysql password 
    $db_name="testmra"; // Database name 

    // Connect to server and select databse.
    $conn=mysqli_connect($host,$username,$password) or die("cannot connect"); 

    mysqli_select_db($conn,$db_name);
    $sname=$_SESSION['usr_name'];


    $room = mysqli_real_escape_string($conn, $_POST['txtrname']);
    $name = mysqli_real_escape_string($conn, $_POST['txtname']);
    $dept = mysqli_real_escape_string($conn, $_POST['txtdept']);
    $purpose = mysqli_real_escape_string($conn, $_POST['txtpurpose']);
    $attendee = mysqli_real_escape_string($conn, $_POST['attendee']);
    $date = mysqli_real_escape_string($conn, $_POST['txtdate']);
    $btime = mysqli_real_escape_string($conn, $_POST['btime']);
    $etime = mysqli_real_escape_string($conn, $_POST['etime']);

    $sql="INSERT INTO bookingdetails (room,name,department,purpose,attendee,date,starttime,endtime,status_id)VALUES('$room','$name','$dept','$purpose','$attendee','$date','$btime','$etime','2')";

    $res  = mysqli_query($conn,"SELECT emailid FROM newuser WHERE username='$sname'");

    $row = mysqli_fetch_assoc($res);
    $to = $row["emailid"];

    require('phpmailer/PHPMailerAutoload.php');

    $mail = new PHPMailer();

    $subject = "Bookig Details";
    $content = "<b>Hello $name. Your Booking Details are as follow. Room : $room Date : $date Start Time : $btime End Time : $etime</b>";
    $mail->IsSMTP();
    $mail->SMTPDebug = 0;   
    $mail->SMTPAuth = TRUE; 
    $mail->SMTPSecure = "no";
    $mail->Port     = 26;  
    $mail->Username = "admin";
    $mail->Password = "@@@";
    $mail->Host     = "59.68.1.101";
    $mail->Mailer   = "smtp";
    $mail->SetFrom("admin@hitechplast.in", "Admin");
    $mail->AddReplyTo("admin@hitechplast.in", "Admin");
    $mail->AddAddress($to);
    $mail->Subject = $subject;
    $mail->WordWrap   = 80;
    $mail->MsgHTML($content);
    $mail->IsHTML(true);

    if(!$mail->Send())
{
   echo "Message could not be sent. <p>";
   echo "Mailer Error: " . $mail->ErrorInfo;
   exit;
}

echo "Message has been sent";

    if (mysqli_query($conn,$sql))
      {
        echo "Record added";

        }
    else
    {
        die('Error: ' . mysqli_error());
     }
?>
  • 写回答

3条回答 默认 最新

  • douyulv6921 2015-05-27 05:59
    关注
    $res  = mysqli_query($conn,"SELECT emailid FROM newuser WHERE username='$sname'") or die(mysqli_error($conn));
    if($res && mysql_num_rows($res)>0)
    {
        $data = mysql_fetch_assoc($res);
        $userEmail = $data['emailid']; // now this is your email id variable for user's email address.
        require('phpmailer/PHPMailerAutoload.php');
    
        $mail = new PHPMailer();
    
        $subject = "Bookig Details";
        $content = "<b>Hello $name. Your Booking Details are as follow. Room : $room Date : $date Start Time : $btime End Time : $etime</b>";
        $mail->IsSMTP();
        $mail->SMTPDebug = 0;   
        $mail->SMTPAuth = TRUE; 
        $mail->SMTPSecure = "no";
        $mail->Port     = 26;  
        $mail->Username = "meetingroom.admin";
        $mail->Password = "@@@";
        $mail->Host     = "59.68.1.101";
        $mail->Mailer   = "smtp";
        $mail->SetFrom("admin@hitechplast.in", "Admin");
        $mail->AddReplyTo("admin@hitechplast.in", "Admin");
        $mail->AddAddress($userEmail); // you can't pass php variables in single goutes like '$userEmail'. 
        $mail->Subject = $subject;
        $mail->WordWrap   = 80;
        $mail->MsgHTML($content);
        $mail->IsHTML(true);
    }
    

    try this. Your changes seem correct. Only you are passing email variable $to in single quotes. Hope it helps.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题