2017-03-24 91 views
0

私は現在、フォームから簡単なメーラーを設定しようとすると、非常に奇妙な問題が発生しています。私は文字通り多くのサイトでコードを使用してきたようです。しかし、この特定の1つでは、私はエラー "あなたは少なくとも1つの受信者の電子メールアドレスを提供する必要があります。"少なくとも1つの受信者電子メールアドレスを指定する必要があります。 PHPメーラー

これは私が特定のサーバーのセットアップがこれを引き起こしことができます

<?php 
require_once('class.phpmailer.php'); 
$name = $_POST['name']; 
    $user_email= $_POST['email']; 
$query = $_POST['message']; 

$message = file_get_contents('email.html'); 
$message = str_replace('{{name}}', $name, $message); 
$message = str_replace('{{email}}', $user_email, $message); 
$message = str_replace('{{message}}', $query, $message); 


$email = new PHPMailer(); 
$email->CharSet = 'UTF-8'; 
$email->IsHTML(true); 
$email->From  = $user_email; 
$email->FromName = $name; 
$email->Subject = 'Talking Together Speech Therapy Enquiry From- '. $name; 
$email->Body  = $message; 
$email->AddAddress('[email protected]​'); 

if($email->send()){ 
    // Trigger when email sends 
}else{ 
//Trigger when email doesn't send 
    echo $email->ErrorInfo; 
} 
?> 

を使用してきたコードはありますか?同じサーバー上の他のサイトは、この特定のサーバーとは別に、正常に動作しているようです。

*編集*

VaRは、ファイルへのすべてのPOSTリクエストをダンプし、何も空返さされていません。

+0

あなたは '$ _POST [ 'メールが']'空ではありませんか?それを 'var_dump'できますか? – roberto06

+0

は$ user_emailが空であるか有効な電子メールアドレスでないことを意味します – Akintunde007

+0

私はそれが事実であったことを望みます、残念ながら、すべてが通り抜けるべきです。 –

答えて

0

必要なデータがすべてあることを確認してください。

$email= $_POST['email'] ?? ''; 

if($email){ 
    /** Your code goes inside this if */ 
} else { 
    /** Show error */ 
} 
+0

これをやっているうちにちょうど今!ただの簡単な質問、何ですか? PHPの構文ですか? **すべてのフィールドが編集されています –

+0

これはPHP 7の機能です - > http://php.net/manual/en/migration70.new-features.php#migration70.new-features.null-coalesce-op issetが設定されているかどうかを確認するのが少し楽になります – user2831723

0

)(AddAddressの新しいバージョンを使用してみてください:

$email->addAddress('[email protected]', 'Name'); 
+0

残念ながら同じ問題 –

関連する問題