これは3番目の方法ではありません。

これは3番目の方法ではありません。

私はPHPベースのCMSを含むウェブサイトを運営しており、このウェブサイトの唯一のユーザーです。 Webサイトには、登録されていないユーザーからEメールを受け取るための簡単なお問い合わせフォーム(名前、Eメール、電話番号、文字)があります。

一方では、このフォームのEメールを自分のEメールアカウントに直接送信したいと思います。
一方、サイト コンピュータの IP を良好なリストに配置するので、少なくとも一度はスパム ディレクトリに問題がないため、DNS レコードを設定しないことをお勧めします。

私が知っている限り、すべてのLinuxシステムで(PHPmail()機能を介して)SMTPプロトコルを使用する基本的に3つの方法があります。

  1. メール転送エージェント(例postfix:)をインストールして設定します。
  2. Eメールプロキシアプリケーション(例ssmtp潜在的なハッカーに見せるssmtpプログラムがそのアカウントをプロキシとして使用できるように、設定ファイル内のプロキシEメールアカウントのアドレスとパスワード。
  3. この回答によると、3番目の方法で名前を付けることができます。メールバイナリファイルの送信

そのような概念がありますか?メールバイナリファイルの送信それでは、最初の2つのオプションとどう違いますか?

ベストアンサー1

PHPから電子メールを受信する方法は3つあります。

  1. mail()人と会話をしたり、/usr/lib/sendmail類似
  2. mail()MTAとのSMTP会話(主にWindows用)
  3. phpmailer SMTPを直接使用するPHPオブジェクトであり、TCPをサポートする同様のPHPコードです。

リストされている3つのオプションはすべてオプション1のバリエーションです。

Postfixとssmtpはどちらも、ユーザーが呼び出した後にPHPが呼び出すsendmailバイナリを提供しますmail()

sendmailにアクセスする4番目の方法はを使用することですpopen()。この方法を使用する場合は、すべての引数に必ずこのshellescape()方法を使用してください。数年前に買収エスケープが失敗したため、主要なWordPressの脆弱性がありました。これにより、その機能がから削除されますmail()

すべての場合にサーバーへの攻撃が成功すると、SMTP資格情報が公開されるため、他のシステムと共有しないでください。または、移植できないタイプである必要があります(たとえば、サーバーのSMTPアカウントがサーバーのIPアドレスに関連付けられている場合)。 IMAPパスワードは絶対に使用しないでください。パスワードが漏洩すると、身元(ドメイン名など)が盗まれます。

おすすめ記事