当插入电子邮件正文

时间:2018-02-20 08:12:58

标签: php email

我提交了一个代码,用于在用户提交表单时收到用户的自动发送电子邮件。

代码还包含插入查询以将所有数据放入数据库表。

但是,插入查询和自动邮件工作正常。数据被插入,我也收到带有值的邮件。

代码适用于:

<?php include('db.php'); ?>
<?php

$fname = $_POST['fname'];
$mname = $_POST['mname'];
$lname = $_POST['lname'];

$address = $_POST['address'];
$address2 = $_POST['address2'];
$city = $_POST['city'];
$state = $_POST['state'];
$zipcode = $_POST['zipcode'];
$country = $_POST['country'];

$email = $_POST['email'];
$phone = $_POST['phone'];
$altphone = $_POST['altphone'];

$citizenship = $_POST['citizenship'];
$visa = $_POST['visa'];
$inviteletter = $_POST['inviteletter'];
$housingassist = $_POST['housingassist'];
$im = $_POST['im'];
$status = 'open';

$university = $_POST['university'];
$univstartdate = $_POST['univstartdate'];
$univgraddate = $_POST['univgraddate'];
$univaddress = $_POST['univaddress'];
$univcity = $_POST['univcity'];
$univstate = $_POST['univstate'];
$univzipcode = $_POST['univzipcode'];
$univcountry = $_POST['univcountry'];

$usmle = implode(', ', $_POST['usmle']);
$rotationlength = $_POST['rotationlength'];
$speciality1 = $_POST['speciality1'];
$speciality2 = $_POST['speciality2'];
$speciality3 = $_POST['speciality3'];
$research = $_POST['research'];
$additional = $_POST['additional'];

$startdate = $_POST['startdate'];
$freecall = $_POST['freecall'];

$howus = $_POST['howus'];


$date = date_default_timezone_set('America/New_York');
$date = date('M-d,Y H:i:s');
$date2 = date('M-d,Y');

$conn = new mysqli ($servername, $dbusername, $dbpassword, $dbname);
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$sql = "INSERT INTO applications (fname, mname, lname, address, address2, city, state, zipcode, country, email, phone, altphone, citizenship, visa, inviteletter, housingassist, im, university, univstartdate, univgraddate, univaddress, univcity, univstate, univzipcode, univcountry, usmle, rotationlength, speciality1, speciality2, speciality3, research, additional, startdate, freecall, howus, date, status)

VALUES ('$fname', '$mname', '$lname', '$address', '$address2', '$city', '$state', '$zipcode', '$country', '$email', '$phone', '$altphone', '$citizenship', '$visa', '$inviteletter', '$housingassist', '$im', '$university', '$univstartdate', '$univgraddate', '$univaddress', '$univcity', '$univstate', '$univzipcode', '$univcountry', '$usmle', '$rotationlength', '$speciality1', '$speciality2', '$speciality3', '$research', '$additional', '$startdate', '$freecall', '$howus', '$date2', '$status')";
if ($conn->query($sql) === TRUE) {


$email_from = 'newyorkrotations@gmail.com';//<== update the email address
$email_subject = "Student Application";
$email_body = "First Name : $fname.\n 
               Middle Name : $mname.\n 
               Last Name : $lname.\n 
               Address : $address.\n
               Alt Address : $address2.\n 
               City : $city.\n
               State : $state.\n
               Zipcode : $zipcode.\n
               Country : $country.\n
               Email : $email.\n
               Phone : $phone.\n
               Alt Phone : $altphone.\n
               Citizenship : $citizenship.\n
               Does He Need Visa : $visa.\n
               Does He Need Invite Letter : $inviteletter.\n
               Does He Need Housing Assistance : $housingassist.\n
               He is A : $im.\n
               University : $university.\n
               College Start Date : $univstartdate.\n
               Graduation Date : $univgraddate.\n
               University Address : $univaddress.\n
               University City : $univcity.\n
               University Stqate : $univstate.\n
               University Zipcode : $univzipcode.\n
               University Country : $univcountry.\n
               Did He took Any Steps : $usmle.\n
               Requested Rotation Length : $rotationlength.\n
               Speciality #1 : $speciality1.\n
               Speciality #2 : $speciality2.\n
               Speciality #3 : $speciality3.\n
               Research : $research.\n
               Additional Services : $additional.\n
               Rotation Start Date : $startdate.\n
               Do He need physician's Free call : $freecall.\n
               How did He Reached Us : $howus.\n
               Application Submitted at : $date2.\n";

$to = "newyorkrotations@gmail.com";//<== update the email address
$headers = "From: $email \r\n";
$headers .= "Reply-To: $email \r\n";
//Send the email!
mail($to,$email_subject,$email_body,$headers);
//done. redirect to thank-you page.
header('Location: index.php');

}
else {
    echo "ERROR" . $sql . "<br>" . $conn->error;
}
$conn->close();
?>

但是我尝试在代码中添加一些HTML代码,以便我收到的邮件看起来有点不错。但相反,我得到了我的邮件中的整个代码。意味着HTML只是作为纯文本发布到邮件。

代码为:

$email_from = 'newyorkrotations@gmail.com';//<== update the email address
$email_subject = "Student Application";

$message = '<html><body>';
            $message .= '<img src="http://css-tricks.com/examples/WebsiteChangeRequestForm/images/wcrf-header.png" alt="Website Change Request" />';
            $message .= '<table rules="all" style="border-color: #666;" cellpadding="10">';
            $message .= "<tr style='background: #eee;'><td><strong>First Name:</strong> </td><td>" . strip_tags($_POST['fname']) . "</td></tr>";
            $message .= "<tr><td><strong>Middle Name:</strong> </td><td>" . strip_tags($_POST['mname']) . "</td></tr>";
            $message .= "<tr><td><strong>Last Name:</strong> </td><td>" . strip_tags($_POST['lname']) . "</td></tr>";
            $message .= "<tr><td><strong>Address:</strong> </td><td>" . strip_tags($_POST['address']) . "</td></tr>";
            $message .= "<tr><td><strong>Alt Address:</strong> </td><td>" . strip_tags($_POST['address2']) . "</td></tr>";
            $message .= "<tr><td><strong>City:</strong> </td><td>" . strip_tags($_POST['city']) . "</td></tr>";
            $message .= "<tr><td><strong>State:</strong> </td><td>" . strip_tags($_POST['state']) . "</td></tr>";
            $message .= "<tr><td><strong>ZipCode:</strong> </td><td>" . strip_tags($_POST['zipcode']) . "</td></tr>";
            $message .= "<tr><td><strong>Country:</strong> </td><td>" . strip_tags($_POST['country']) . "</td></tr>";
            $message .= "<tr><td><strong>Email:</strong> </td><td>" . strip_tags($_POST['email']) . "</td></tr>";
            $message .= "<tr><td><strong>Phone:</strong> </td><td>" . strip_tags($_POST['phone']) . "</td></tr>";
            $message .= "<tr><td><strong>Alt Phone:</strong> </td><td>" . strip_tags($_POST['altphone']) . "</td></tr>";
            $message .= "<tr><td><strong>Citizenship:</strong> </td><td>" . strip_tags($_POST['citizenship']) . "</td></tr>";
            $message .= "<tr><td><strong>Does He Have Visa:</strong> </td><td>" . strip_tags($_POST['visa']) . "</td></tr>";
            $message .= "<tr><td><strong>Does He Need Invite Letter:</strong> </td><td>" . strip_tags($_POST['inviteletter']) . "</td></tr>";
            $message .= "<tr><td><strong>Does He Need Housing Assist:</strong> </td><td>" . strip_tags($_POST['housingassist']) . "</td></tr>";
            $message .= "<tr><td><strong>He Is:</strong> </td><td>" . strip_tags($_POST['im']) . "</td></tr>";
            $message .= "<tr><td><strong>University Name:</strong> </td><td>" . strip_tags($_POST['university']) . "</td></tr>";
            $message .= "<tr><td><strong>University Start Date:</strong> </td><td>" . strip_tags($_POST['univstartdate']) . "</td></tr>";
            $message .= "<tr><td><strong>University Graduation Date:</strong> </td><td>" . strip_tags($_POST['univgraddate']) . "</td></tr>";
            $message .= "<tr><td><strong>University Address:</strong> </td><td>" . strip_tags($_POST['univaddress']) . "</td></tr>";
            $message .= "<tr><td><strong>University City:</strong> </td><td>" . strip_tags($_POST['univcity']) . "</td></tr>";
            $message .= "<tr><td><strong>University State:</strong> </td><td>" . strip_tags($_POST['univstate']) . "</td></tr>";
            $message .= "<tr><td><strong>Universtiy Zipcode:</strong> </td><td>" . strip_tags($_POST['univzipcode']) . "</td></tr>";
            $message .= "<tr><td><strong>University Country:</strong> </td><td>" . strip_tags($_POST['univcountry']) . "</td></tr>";
            $message .= "<tr><td><strong>Steps Taken:</strong> </td><td>" . strip_tags($_POST['usmle']) . "</td></tr>";
            $message .= "<tr><td><strong>Rotation Length:</strong> </td><td>" . strip_tags($_POST['rotationlength']) . "</td></tr>";
            $message .= "<tr><td><strong>Speciality #1:</strong> </td><td>" . strip_tags($_POST['speciality1']) . "</td></tr>";
            $message .= "<tr><td><strong>Speciality #2:</strong> </td><td>" . strip_tags($_POST['speciality2']) . "</td></tr>";
            $message .= "<tr><td><strong>Speciality #3:</strong> </td><td>" . strip_tags($_POST['speciality3']) . "</td></tr>";
            $message .= "<tr><td><strong>Research:</strong> </td><td>" . strip_tags($_POST['research']) . "</td></tr>";
            $message .= "<tr><td><strong>Additional:</strong> </td><td>" . strip_tags($_POST['additional']) . "</td></tr>";
            $message .= "<tr><td><strong>Rotation Start Date:</strong> </td><td>" . strip_tags($_POST['startdate']) . "</td></tr>";
            $message .= "<tr><td><strong>Does He Need A Free Call:</strong> </td><td>" . strip_tags($_POST['freecall']) . "</td></tr>";
            $message .= "<tr><td><strong>How did he find us:</strong> </td><td>" . strip_tags($_POST['howus']) . "</td></tr>";
            $message .= "</table>";
            $message .= "</body></html>";

$to = "newyorkrotations@gmail.com";//<== update the email address
$headers = "From: $email \r\n";
$headers .= "Reply-To: $email \r\n";
//Send the email!
mail($to,$email_subject,$message,$headers);
//done. redirect to thank-you page.
header('Location: index.php');

只需用$ message替换$ email_body和一些HTML代码。

但它以文字形式执行。

任何帮助都是Appreciatede ..

2 个答案:

答案 0 :(得分:0)

也许您应该在$ header

中添加HTML内容类型
$headers .= "Content-Type: text/html; charset=UTF-8\r\n";

答案 1 :(得分:0)

您没有给出正确的标题检查此示例

<?php
$to = 'maryjane@email.com';
$subject = 'Marriage Proposal';
$from = 'peterparker@email.com';

// To send HTML mail, the Content-type header must be set
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

// Create email headers
$headers .= 'From: '.$from."\r\n".
    'Reply-To: '.$from."\r\n" .
    'X-Mailer: PHP/' . phpversion();

// Compose a simple HTML email message
$message = '<html><body>';
$message .= '<h1 style="color:#f40;">Hi Jane!</h1>';
$message .= '<p style="color:#080;font-size:18px;">Will you marry me?</p>';
$message .= '</body></html>';

// Sending email
if(mail($to, $subject, $message, $headers)){
    echo 'Your mail has been sent successfully.';
} else{
    echo 'Unable to send email. Please try again.';
}
?>