6

PHP はまったくの初心者で、PHP を使用してメールを送信したいと考えています。私は、私に連絡してきた人のメールを受け入れるお問い合わせフォームを持っているので、メールは私に送られます。https://github.com/PHPMailer/PHPMailer/tree/masterのPHPMailer ライブラリを使用しています。以下は、使用しているコード スニペットです。

<?php
require("class.phpmailer.php");
$mail = new PHPMailer();
$mail->IsSMTP();  

$mail->SMTPSecure = 'tls';

$mail->Host     = "resolver1.opendns.com"; // this SMTP server of my machine
//$mail->Host     = "208.67.222.222";//ip ; which one to use the resolver1.opendns.com or 208.67.222.222 ???

$mail->From     = "xyz@gamil.com;//email id of the person 

$mail->AddAddress("datta.dhonde@coreathena.com");//my email id

$mail->Subject  = "First PHPMailer Message";
$mail->Body     = "Hi! \n\n This is my first e-mail sent through PHPMailer.";
$mail->WordWrap = 50;

if(!$mail->Send()) 
{
  echo 'Message was not sent.';
  echo 'Mailer error: ' . $mail->ErrorInfo;
}  
else 
{
  echo 'Message has been sent.';
}
?> 

「メッセージが送信されませんでした。メーラー エラー: SMTP connect() に失敗しました。」というエラーが表示されます。何が問題なのかわかりません..? $mail->Host = ""; これが何を表しているのかコメントしてください??

4

4 に答える 4

4

@joydesigner の非常に良い例のように、SMTP 経由で接続するには、渡す必要があり、hostname, username and password接続してメールを送信する必要があります。

$mail->Host = 'smtp1.example.com;smtp2.example.com';  // Specify main and backup server
$mail->SMTPAuth = true;                               // Enable SMTP authentication
$mail->Username = 'jswan';                            // SMTP username
$mail->Password = 'secret';                           // SMTP password
$mail->SMTPSecure = 'tls';                            // tls or ssl connection as req

ここでは、情報のみを渡していることがわかりますhost。pls も追加username & passwordして、一度試してください。

またTLS/SSL PORT、サーバーが開いていることを確認します。

確認する:

telnet resolver1.opendns.com 25
于 2013-10-10T07:06:06.493 に答える