2017-02-01 14 views
0

PHPMailerを使用して電子メールを送信するための基本的なスクリプトを作成しました。PHPMailerはローカルホストからの電子メールのみを送信し、サーバからは送信しません

スクリプトをローカルで実行して自分宛に電子メールを送信すると、正常に動作しますが、サーバーから実行しようとすると電子メールが届きません。 PHPMailerでSMTPを指定せずに電子メールを送信したい。

PHPMailerライブラリは、以下のコードと同じディレクトリにあるcodebaseディレクトリにあります。また、サーバー上でも同じです。私はすでに答えをStackOverflowのをチェックしましたが、私は必要なものを見つけることができませんでした

$to  = '[email protected]'; 
$toName = 'Aaqib Farooq' 

require_once('codebase/PHPMailer/class.phpmailer.php'); 

$mail    = new PHPMailer; 
$mail->From  = "[email protected]"; 
$mail->FromName = "Joe Bloggs"; 
$mail->addAddress($to, $toName); 
$mail->isHTML(true); 
$mail->Subject = "Subject Text"; 
$mail->Body  = "<p>Lorem ipsum blah blah blah. This is my messsage.</p>"; 
$mail->AltBody = "This is the plain text version of the email content"; 

if (!$mail->send()){ 
    echo 'Email not sent'; 
} else { 
    echo 'Email was sent successfully'; 
} 

は、ここに私のPHPコードです。誰も助けることができますか?

+0

エラーメッセージが表示されますか? SMTP資格情報を指定したくない理由は何ですか? –

+0

私のSMTP設定がわかりません。これらの設定はサーバーから実行する必要がありますか? – Aaqib1

+0

SMTPは、PHPのメール機能に依存するより信頼性が高いです。あなたのGmailアカウントのような別のサーバーを使用してみませんか?またはMandrill、Mailgun、Amazon SES、SendGridなどを使用しますか? –

答えて

0

このfiledsを追加します。

$mail->IsSMTP(); 
$mail->Host = 'host of mail'; 
$mail->Port = 465 or 587; 
$mail->SMTPAuth = true; 
$mail->Username = 'username - usually [email protected]'; 
$mail->Password = 'password'; 
可能

あなたも、このような設定が必要になります

$mail->SMTPSecure = ''; 
$mail->SMTPAutoTLS = false; 
$mail->smtpConnect(
    array(
     "ssl" => array(
      "verify_peer" => false, 
      "verify_peer_name" => false, 
      "allow_self_signed" => true 
     ) 
    ) 
); 
0

うわあ。私は昨日からこの問題を解決しようとしてきました。それは全力で働いていたことが分かったが、私の迷惑になっていた。

関連する問題