2017-12-30 31 views
1

このスクリプトは動作しますが、訪問時に空白の電子メールが送信されます。その後、実際に送信されます。私はそれが送る最初の空白を取り除きたい。これは私がここで見つけたほとんど編集されたコードと私が必要とするために一緒につなぎ合わせた別の場所です。PHP PEAR Mailは2つの電子メールを送信します

<?php 
ini_set("include_path", '/home/user/php:' . ini_get("include_path")); 
require_once "Mail.php"; 

$first_name = $_POST['first_name']; 
$last_name = $_POST['last_name']; 
$email = $_POST['email']; 
$address = $_POST['address']; 
$phone = $_POST['phone']; 
$contact = $_POST['contact']; 
$comments = $_POST['comments']; 
$from = "Info <[email protected]>"; 
$to = "Info <[email protected]>"; 
$subject = "Customer Contact Form"; 
$body = "If this works it will be edited a bit \n" . "First Name: " . $first_name . "\n" . "Last Name: " . $last_name . "\n" . "Email: " . $email . "\n" . "Address: " . $address . "\n" . "Phone: " . $phone . "\n" . "Please contact me by: " . $contact . "\n" . "Other Comments: " . $comments; 

$host = "mail.domain.net"; 
$username = "[email protected]"; 
$password = "emailpassword"; 

$headers = array ('From' => $from, 
    'To' => $to, 
    'Subject' => $subject); 
$smtp = Mail::factory('smtp', 
    array ('host' => $host, 
     'auth' => true, 
     'username' => $username, 
     'password' => $password)); 

$mail = $smtp->send($to, $headers, $body); 

//if (PEAR::isError($mail)) { 
// echo("<p>" . $mail->getMessage() . "</p>"); 
//} else { 
// echo("<p>Message successfully sent!</p>"); 
//} 
?> 

<!DOCTYPE html> 
<head> 
<title>Form submission</title> 
</head> 
<body> 

<form action="" method="post"> 
First Name: <input type="text" name="first_name"><br> 
Last Name: <input type="text" name="last_name"><br> 
Email: <input type="text" name="email"><br> 
Address: <input type="text" name="address"><br> 
Phone: <input type="text" name="phone"><br> 
Perferred Form of Contact: <input type="text" name="contact"><br> 
Message:<br><textarea rows="5" name="comments" cols="30"></textarea><br> 
<input type="submit" name="submit" value="Submit"> 
</form> 

</body> 
</html> 

答えて

1

フォームデータをチェックしないためです。 メールを生成して送信するためのコードの回りに単純なif(isset($_POST['first_name']))を使用するだけで、フォームを送信した場合はメールが送信されます。

+0

ありがとうございます。他の誰かが知りたいと思う場合、彼のコードはコメントアウトされているものの直前に[と別のもの]を付けて$ヘッダの前に行きます。 –

関連する問題