Failed to connect to mailserver at ",localhost", port 25,... というエラー メッセージが表示されます。
私のphp.iniファイルの内容は
SMTP = localhost
smtp_port = 25
次のコードを使用しました
mail("xyz@gmail.com","test","msg","from abc@gmail.com");
ローカルホストから送信メールを送信することはできません。メール機能をテストするには、水銀メールをインストールします。xamppが付属しているはずです。steward@localhostなどのローカルホストドメインのメールを作成します。エイリアスを使用できます。ある受信トレイから別の受信トレイにメールを送信してテストを行います。アウトバウンドメッセージを送信するには、ライセンスバージョンの水銀メールが必要です。
もう1つのオプションは、リモートサーバーでテストを実行することです。送信者の電子メールが送信サーバーによって認識されていることを確認してください。表示している設定を使用してGmailメッセージを送信することはできません。
Gmailからの送信が目的である場合、stackoverflowは、codeigniterを使用している場合でも、Gmailを使用してメールを送信する方法についての回答でいっぱいです。いくつかを必要とします?
これがあなたが求めるものです:Gmailを使用してメールを送信する:
require_once "Mail.php";
$from = "<from.gmail.com>";
$to = "<to.yahoo.com>";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";
$host = "ssl://smtp.gmail.com";
$port = "465";
$username = "myaccount@gmail.com"; //<> give errors
$password = "password";
$headers = array ('From' => $from,
'To' => $to,
'Subject' => $subject);
$smtp = Mail::factory('smtp',
array ('host' => $host,
'port' => $port,
'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>");
}
?> <!-- end of php tag-->
ここで情報を入手してください:https ://stackoverflow.com/a/2748837/827224
codeigniterや、phpclasses.orgのPHPMailer検索メールクラスなどのPHPメールクラスを使用している場合は、さらに多くのことができます。例: http ://www.phpclasses.org/blog/package/9/post/1-Sending-email-using-SMTP-servers-of-Gmail-Hotmail-or-Yahoo-with-PHP.html
http://www.phpclasses.org/package/7834-PHP-Send-e-mail-messages-Gmail-users-via-SMTP.html
ポート 25 の localhost で実行されているメール サーバーがない (またはファイアウォールがブロックしている) ことは明らかです。メールサーバーを入手してインストールすると (windows/linux/mac 用の無料サーバーが多数あります。ISP で許可されていることを確認してください)、スクリプトは正常に実行されます。
私はこれをテストに使用していますが、これは非常に優れて います。