web-dev-qa-db-ja.com

Localhostからメールを送信するようにXAMPPを設定する方法

Localhostからメールを送信しようとしています。しかし、私はlocalhostからメールを送信することができませんので誰もがlocalhostからメールを送信するために私のxamppを再設定する方法を教えてもらえます

221
farid shaikh

Localhostからsendmailパッケージでメールを送ることができます、sendmailパッケージはXAMPPに組み込まれています。あなたがXAMPPを使っているのであれば、あなたはlocalhostから簡単にメールを送ることができます。

たとえば、gmailがメールを送信するようにC:\xampp\php\php.inic:\xampp\sendmail\sendmail.iniを設定できます。

C:\xampp\php\php.iniextension=php_openssl.dllを見つけ、その行の先頭からセミコロンを削除して、SSLをlocalhost用のgmailで機能させる.

php.iniファイルで[mail function]を見つけて変更します

SMTP=smtp.gmail.com
smtp_port=587
sendmail_from = [email protected]
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"

今すぐC:\xampp\sendmail\sendmail.iniを開きます。次のコードでsendmail.iniの既存のコードをすべて置き換えます。

[sendmail]

smtp_server=smtp.gmail.com
smtp_port=587
error_logfile=error.log
debug_logfile=debug.log
[email protected]
auth_password=my-gmail-password
[email protected]

今、あなたはやりました!メール機能付きのphpファイルを作成し、localhostからメールを送信します。

シモンズ:上記のコードで my-gmail-id および my-gmail-password の置き換えを忘れないでください。また、上から設定をコピーした場合は、重複したキーを削除することを忘れないでください。たとえばphp.iniファイルに sendmail_path sendmail_path="C:\xampp\mailtodisk\mailtodisk.exe"がある場合は、次の行をコメントにします。

変更を有効にするために、XAMMPコントロールパネルを使用してサーバーを再起動することも忘れないでください。

Gmailの場合は、 https://support.google.com/accounts/answer/6010255 を確認して、安全性の低いアプリからのアクセスを許可してください。

LocalhostからGmailを介してLinuxに(sendmailパッケージを使用して)E​​メールを送信するには、 PHP + Ubuntu gmail形式のlocalhost を使用してEメールを送信してください。

339
Vikas Dwivedi

テスト目的のXAMPP v3.2.1では、XAMPPがXAMPP/mailoutputで送信する電子メールを見ることができます。私のWindows 8の場合、これは追加の設定を必要とせず、電子メールをテストするための簡単な解決策でした。

33
Paul Trotter

Localhostまたはlocal serverで電子メールを送信するのはとても簡単

注:私はXamppがインストールされたWindows 7 64bitでテストメールサーバソフトウェアを使用しています

テストメールサーバーツールをダウンロードし、そのウェブサイトの指示に従ってインストールしてください テストメールサーバーツール

php.iniファイルの下の2行だけを変更する必要があります

  1. [mail function]を見つけて、;smtp = localhostの前にあるセミコロンを削除します
  2. セミコロンをsendmail_path = "C:\xampp\mailtodisk\mailtodisk.exe"の前に置きます

他に何も変更する必要はありませんが、それでもSMTP portをチェックする以外にEメールを受け取らない場合は、ポート番号は同じでなければなりません。

上記の方法は、Xamppソフトウェアが提供するデフォルト設定用です。

23
Vikas Khunteta

サーバー上で _ smtp _ を設定する必要があります。 G Suite SMTP をGoogleで無料で使用できます。

<?php

$mail = new PHPMailer(true);

// Send mail using Gmail
if($send_using_gmail){
    $mail->IsSMTP(); // telling the class to use SMTP
    $mail->SMTPAuth = true; // enable SMTP authentication
    $mail->SMTPSecure = "ssl"; // sets the prefix to the servier
    $mail->Host = "smtp.gmail.com"; // sets GMAIL as the SMTP server
    $mail->Port = 465; // set the SMTP port for the GMAIL server
    $mail->Username = "[email protected]"; // GMAIL username
    $mail->Password = "your-gmail-password"; // GMAIL password
}

// Typical mail data
$mail->AddAddress($email, $name);
$mail->SetFrom($email_from, $name_from);
$mail->Subject = "My Subject";
$mail->Body = "Mail contents";

try{
    $mail->Send();
    echo "Success!";
} catch(Exception $e){
    // Something went bad
    echo "Fail :(";
}

?>

PHPMailerについてはこちらを読んでください

19

あなたはインターネットなしであなたのPCで送信メールをテストすることができます

メールをテストするには Papercut を使用します。何も設定する必要はありません。

それを実行してtest send mailを試すだけです。

test_sendmail.php

<?php
$to = "[email protected]";
$subject = "My subject";
$txt = "Hello world!";
$headers = "From: [email protected]" . "\r\n" .
"CC: [email protected]";

mail($to,$subject,$txt,$headers);
?>

そして、あなたはこれを見るでしょう:

enter image description here

私はあなたが良い一日を過ごすことを願っています。あなたは私を見つけることができます Youtube もっとチュートリアルを見るには Piseth Sok

応援します。

12
Piseth Sok

あなたがこれをしたいのであれば窓8の人々のために私は本当に私が見つけたこのチュートリアルを読むことを勧めます: http://yogeshchaugule.com/blog/2013/configure-sendmail-wamp

それは私によって書かれていませんでしたが、2.5時間の間私の頭をコンクリートの壁にぶつけた後、これを最も奇妙なエラーでうまく動かさせませんでした:

  • 接続がタイムアウトしました。
  • 接続が正常に閉じました。

私はついにチュートリアルが https://www.stunnel.org/downloads.html のインストール時およびStunnelの設定時にあることがわかりました。やっとうまくいった。

5
N.Schipper

私の個人的な経験と同じように、私はVikas Dwivediの回答と非常によく似たことがうまくいくことを見出しました。

ステップ1(php.iniファイル)

xampp\php\php.iniにあるphp.iniファイル内。設定を次のように変更します。

 extension=php_openssl.dll
 [mail function]
 sendmail_path =":\xampp7\sendmail\sendmail.exe -t"
 mail.add_x_header=On

mail funcitonの下にある他の変数をオフにして、;をそれらの前に置きます。例:;smtp_port=25

ステップ2(sendmail.iniファイル)

Xampp\sendmail\semdmail.iniにあるsendmail.iniを以下のように変更します。

 smtp_server=smtp.gmail.com
 smtp_port=465
 smtp_ssl=auto
 [email protected]
 auth_password=YourPassword

ステップ3(コード)

Phpファイルを作成して次のようにします。

 <?php
    mail($to, "subject", "body", "From: ".$from);
 ?>

お知らせ

  • Php.iniをリロードするには、Apacheを再起動する必要があります。
  • あなたは https://myaccount.google.com/u/1/security でGoogle Less secure app accessを有効にする必要があります。
  • 管理者権限でXamppを実行するのに役立つかもしれません。
2
Mahdi Rafatjah

あなたがxampp最新コピーのインストールされたコピーを持っているならばxamppを通して電子メールを送ることの完全なドキュメンテーションについてこのリンクをチェックしてください。以下のリンクにアクセスする前にApacheを有効にする必要があります

http://localhost/dashboard/docs/send-mail.html

1
Jignesh Rawal

あなたはSMTPサーバとこれのためのポートを定義しなければなりません。ライブホストからメールを送信するのを除くすべて。

これはこれに関して役に立つリンクです

注意:ポートは未使用にしてください。注意してください、Skypeのようないくつかのアプリケーションはデフォルトのポートを使い、そこでメールの送信を防ぎます。

0
Vishnu Renku

たった1時間以上かけてこの作品を制作しようとしました。あなたのXAMPPインターフェースでApacheを再起動しなければなりません! XAMPPを再起動するだけでは動作しません。

0
user3065579

このコードはあなたのlocalhost XAMPPとあなたのGmailアカウントからのメールに使われます。このコードはとても簡単で、あなたの自己を試してみてください。

php.iniファイルの変更箇所

SMTP=smtp.gmail.com 
smtp_port=587 
sendmail_from = [email protected] 
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t" 
extension=php_openssl.dll 

以下のsendmail.iniファイルの変更点

smtp_server=smtp.gmail.com
smtp_port=587
error_logfile=error.log
debug_logfile=debug.log 
[email protected] 
auth_password=your-gmail-password 
[email protected]  

電子メールを送信するためにPHPファイルにbeloveコードを書いてください

<?php 
    $to = "[email protected]";
    $subject = "Test Mail";
    $headers = "From: [email protected]\r\n";
    $headers .= "Reply-To: [email protected]\r\n";
    $headers .= "CC: [email protected]\r\n";
    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
    $message = '<html><body>';
    $message .= '<img src="//css-tricks.com/examples/WebsiteChangeRequestForm/images/wcrf-header.png" alt="Website Change Request" />';
    $message .= '<table rules="all" style="border-color: #666;" cellpadding="10">';
    $message .= "<tr style='background: #eee;'><td><strong>Name:</strong> </td><td>Details</td></tr>";
    $message .= "<tr><td><strong>Email:</strong> </td><td>Details</td></tr>";
    $message .= "<tr><td><strong>Type of Change:</strong> </td><td>Details</td></tr>";
    $message .= "<tr><td><strong>Urgency:</strong> </td><td>Details</td></tr>";
    $message .= "<tr><td><strong>URL To Change (main):</strong> </td><td>Details</td></tr>";
    $addURLS = 'google.com';
    if (($addURLS) != '') {
        $message .= "<tr><td><strong>URL To Change (additional):</strong> </td><td>" . $addURLS . "</td></tr>";
    }
    $curText = 'dummy text';           
    if (($curText) != '') {
        $message .= "<tr><td><strong>CURRENT Content:</strong> </td><td>" . $curText . "</td></tr>";
    }
    $message .= "<tr><td><strong>NEW Content:</strong> </td><td>New Text</td></tr>";
    $message .= "</table>";
    $message .= "</body></html>";

    if(mail($to,$subject,$message,$headers))
    {
        echo "Mail Send Sucuceed";
    }
    else{
        echo "Mail Send Failed";    
    }
?>
0