質問

My ISP アカウントでは送信用にユーザー名とパスワードを送信する必要があります SMTP 郵便。

どうすれば入手できますか PHP 実行時にこれを使用するには php.mail()?php.ini ファイルにはサーバーのエントリのみが含まれています (SMTP= ) そして From: (sendmail_from= ).

役に立ちましたか?

解決

PHP mail() コマンドは認証をサポートしていません。オプション:

  1. PHPメーラー- チュートリアル
  2. - チュートリアル
  3. カスタム関数 - メモ セクションのさまざまなソリューションを参照してください。 http://php.net/manual/en/ref.mail.php

他のヒント

php.ini ファイルに次の詳細を適用します。それはうまくいきます。

SMTP = smtp.example.com
smtp_port = 25
username = info@example.com
password = yourmailpassord
sendmail_from = info@example.com

これらの詳細は Outlook の設定と同じです。

使用 Windows用の偽のsendmail メールを送信します。

  1. という名前のフォルダーを作成します sendmailC:\wamp\.
  2. これら 4 つのファイルを解凍します sendmail フォルダ: sendmail.exe, libeay32.dll, ssleay32.dll そして sendmail.ini.
  3. 次に設定します C:\wamp\sendmail\sendmail.ini:
smtp_server=smtp.gmail.com
smtp_port=465
auth_username=user@gmail.com
auth_password=your_password
  1. 上記は Gmail アカウントに対して機能します。次に、php.ini を設定します。

    sendmail_path = "C:\wamp\sendmail\sendmail.exe -t"

  2. ここで、Apache を再起動します。基本的に行う必要があるのはこれだけです。

PHP する メールコマンドで認証を行ってください!

以下はWAMPSERVER(Windows、php 5.2.17)で機能します。

php.ini

[mail function]
; For Win32 only.
SMTP = mail.yourserver.com
smtp_port = 25
auth_username = smtp-username
auth_password = smtp-password
sendmail_from = you@yourserver.com

私は PHPメーラー PEAR を必要としないツールです。しかし、どちらにしても、あなたには誤解があります。SMTP ユーザーとパスワードを PHP サーバー全体に設定する必要はありません。これはアプリごと (またはページごと) の設定である必要があります。異なる PHP ページ間で同じアカウントを使用したい場合は、それを何らかの settings.php ファイルに追加します。

一日中これに取り組んだ後、ついに解決策を見つけました。ここでは、WAMP を使用して Windows XP から送信する方法を示します。

  1. Google の SMTP サーバーを使用します。おそらくアカウントが必要です。
  2. ダウンロードとインストール 偽の送信メール. 。ダウンロードして解凍し、WAMP フォルダーに入れました。
  3. テスト用のPHPファイルを作成します。以下を参照してください。
<?php
    $message = "test message body";
    $result = mail('recipient@some-domain.com', 'message subject', $message);
    echo "result: $result";
?>
  1. php.ini ファイルと sendmail.ini ファイルを更新します (sendmail.ini は sendmail フォルダーにあります)。
  2. 機能しない場合は、作成したばかりの sendmail フォルダー内の error.log ファイルを確認してください。

参照:

  1. Postfix (Sendmail 互換) をインストールします。
  2. 編集 /etc/postfix/main.cf 読む:
#Relay config
relayhost = smtp.server.net
smtp_use_tls=yes
smtp_sasl_auth_enable=yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_sasl_security_options = noanonymous
  1. 作成する /etc/postfix/sasl_passwd, 、 入力:
smtp.server.net username:password
  1. タイプ # /usr/sbin/postmap sasl_passwd

  2. 次に、次を実行します。 service postfix reload

これで、PHP は通常どおりメールを実行します。 sendmail -t -i コマンドと Postfix はそれをインターセプトし、指定した SMTP サーバーに中継します。

Mail PEAR パッケージの Mail::factory を使用します。 例。

これらの回答は時代遅れであり、価値がありません。ベストプラクティス..

composer require phpmailer/phpmailer

sendmail.php ファイルの次の部分には次のものが必要です。

# use namespace
use PHPMailer\PHPMailer\PHPMailer;

# require php mailer
require_once "../vendor/autoload.php";

//PHPMailer Object
$mail = new PHPMailer;

//From email address and name
$mail->From = "from@yourdomain.com";
$mail->FromName = "Full Name";

//To address and name
$mail->addAddress("recepient1@example.com", "Recepient Name");
$mail->addAddress("recepient1@example.com"); //Recipient name is optional

//Address to which recipient will reply
$mail->addReplyTo("reply@yourdomain.com", "Reply");

//CC and BCC
$mail->addCC("cc@example.com");
$mail->addBCC("bcc@example.com");

//Send HTML or Plain Text email
$mail->isHTML(true);

$mail->Subject = "Subject Text";
$mail->Body = "<i>Mail body in HTML</i>";
$mail->AltBody = "This is the plain text version of the email content";

if(!$mail->send()) 
{
    echo "Mailer Error: " . $mail->ErrorInfo;
} 
else 
{
    echo "Message has been sent successfully";
}

これは好きなように設定できます。

一つの答えを考えると、 この質問, PHP 4 では、通常、PEAR Mail パッケージがすでにインストールされており、この非常に簡単なチュートリアルでは、php ファイルに追加する必要がある数行のコードを示します。 http://email.about.com/od/emailprogrammingtips/qt/PHP_Email_SMTP_Authentication.htm

  1. 最新のものをインストールする hメールサーバー. 。最後のステップで「hMailServer Administrator を実行」します。
  2. 「ローカルホスト」に接続します。
  3. 「ドメインを追加...」
  4. 「127.0.0.1」を設定します。 「ドメイン」として、「保存」をクリックします。
  5. 「設定」>「プロトコル」>「SMTP」>「メールの配信」
  6. 「ローカルホスト名」として「localhost」を設定し、 「SMTP リレー」セクションにデータを入力します。, 、「保存」をクリックします。
  7. 「設定」 > 「詳細」 > 「IP 範囲」 > 「マイコンピュータ」
  8. 「SMTP 認証が必要」グループの「外部から外部の電子メール アドレスへ」チェックボックスをオフにします。
  9. php.ini を変更した場合は、次の 3 つの値を書き換えます。

"SMTP = ローカルホスト",

"smtp_port = 25",

"; sendmail_path = "。

クレジット: Gmail を使用して電子メールを送信するように WAMP (localhost) を設定するにはどうすればよいですか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top