Debian phpsendmailはメールを送信しません。 Ubuntu環境でのSendmailのインストールと構成。 sendmail構成の使用

1983年に登場しましたが、現在でも活躍しています。 主な機能には、無料であるだけでなく、現在存在する多くのプラットフォームのサポートが含まれます。 アプリにはオープンソースコードが付属しています。 これは、誰もが独自の機能を追加したり、自由に変更したりできることを意味します。 Ubuntuオペレーティングシステムでは、Linuxコマンドラインを介して構成されたSendmailが、その優れたサポートと豊富な機能のおかげで定着しました。

メッセージプロセッサ(Sendmail)は、ビジネスで広く使用されています。

今日、大企業のニーズを考慮して作成された「メッセージプロセッサ」SendmailSentrionは非常に一般的です。 その特徴的な機能は、高性能であり、すべてのビジネスプロセスとの良好な統合です。 セントリオンは、新しいテクノロジーとともに、定着したレガシーアプリケーションを提供します。 また、アプリはホームユーザーに適したフレンドリーです。

プログラムのインストール

ローカルサーバーまたはWebサーバーに基づいてSendmailをインストールする必要があります。 2番目のケースでは、メールエージェントがより機能的になります。 Webサーバーのすべてのコンポーネントを取得するには、LAMPコンポーネントのスタックが必要です。 リポジトリにあります。

重要。 新しいソフトウェアをインストールする前に、コマンドを使用してローカルリポジトリのパッケージリストを更新することを忘れないでください

"$ Sudo apt-get update"

Sendmailのインストールは、「sudo aptinstallsendmail」コマンドで始まります。このコマンドはメールエージェントパッケージをダウンロードします。

「Mcedit / etc / hosts」
「Sudosendmailconfig」

その後、プログラム自体のサービスとApacheWebサーバーを再起動する必要があります。

「Sudo / etc / init.d / sendmailrestart」
「Sudo / etc / init.d / apache2restart」

必要に応じて、メールを操作するためのユーティリティをインストールできます。

「sudoinstallmailutils」

システム全体のパフォーマンステストを確認します。

"your_mailにメールしてください< /dev/null»

ここで、「your_mail」は現在の住所です。

最後に、ログファイルを確認しましょう。 これは、インストールエラーが表示されるメールサービスファイルです。

テール-f / var / log / mail.log

メールボックスに行くだけです。 すでにテストメッセージが含まれているはずです。

だから、あなたはUbuntuプログラムSendmailについてもっと学びました。それは設定がとても簡単であることがわかりました。 Linux用のプログラムでの作業の他の側面について質問がある場合は、私たちのサイトのページでそれらに対する回答を探してください!

この本では、LinuxOSに基づいて必要な構成と機能のサーバーを作成できるようにするネットワークサービスの設定について詳しく説明しています。 ローカルネットワークサーバーからインターネットサーバー、リモートアクセスサーバーまで、あらゆるタイプのサーバーをセットアップできます。 Linuxの管理について詳しく説明します。

プレゼンテーションは、RedHatとMandrakeのディストリビューションに基づいています。 多くのユニークな情報:LinuxでWindowsゲームを実行し、ゲームホール用のLinuxサーバーを作成し、Drをセットアップします。 Linux用のWebおよびAVP、MRTGトラフィックアカウンティングソフトウェア、LIDS保護および検出システムなど。 Linuxサーバーのセキュリティには特に注意が払われています。 Linux OS自体は十分に詳細に説明されており、そのコマンドへの参照が提供されています。 この本を読んだ後は、カーネルの構成とコンパイル、独自のrpmパッケージ、bashシェルの作成、およびRAIDアレイの使用に関する知識の所有者になります。 Linuxの内面を知ることができます。 資料のプレゼンテーションはLinuxOSのインストールから始まり、最初の章では基本的なネットワークテクノロジとプロトコルについて説明しているため、この本は専門の管理者と初心者の管理者の両方に適しています(若手管理者コース)。

この本のすべてのリストは実際にテストされており、同封のCDにあります。 さらに、Linuxに関する記事だけでなく、多くの参照情報(HOWTO、RFC)が含まれています。 サーバー用の豊富な補助ユーティリティとソフトウェアのセットがあります(Apache、MySQL、MRTGなど)。

本:

RedHat互換のディストリビューションを使用している場合は、適切なパッケージをインストールする必要があります。 sendmaiI-8.11.0とimap-4.7c2を使用しています。 sendmailの最新バージョンは、インターネット(http://www.sendmail.org)からダウンロードできます。

sendmailの構成を開始する前に、DNSを適切に構成する必要があります。 DNSサーバーのセットアップについては、Ch。 10.メールサーバーのみを構成する場合は、同じコンピューター上にDNSサーバーを構成する必要はありません。 名前解決システムが正しく機能するには、/ etc / resolv.confファイルでネットワークのDNSサーバーを指定するだけで十分です。 ただし、sendmailはDNSを使用せずに機能するように構成できますが、このオプションについては検討しません。

基本的なsendmail構成を開始するには、netconfユーティリティを実行します(図13.1を参照)。 X-Windowとコンソールの両方から機能します。 netconfユーティリティは、RedHat Linux、Mandrake、ASPLinux、およびその他のディストリビューションで利用できますが、KSILinuxでは確かに利用できません。 当然、rootとしてログインする必要があります。 netconfがない場合は、/ etc /sendmail.cfを手動で編集することができます。 このファイルには、すべてのsendmail設定が保存されます。


図。 13.1。 Netconf configurator

メニューから[メール配信システム]を選択し、次に[基本的なsendmail構成]を選択します。 [システムを名前を付けて表示]フィールドに、ドメイン名を入力するだけです。 次に、[your_domain.comの電子メールを受け入れる]チェックボックスを必ずオンにしてください(図13.2を参照)。 そうしないと、サーバーはメッセージを別のサーバーにリダイレクトできるようになります。 同時に、過剰なトラフィックはサーバーを通過しますが、これはまったく必要ありません。 昔々、この種の電子メールによる拒否攻撃さえありました。 その原則は次のとおりです。手紙は存在しないユーザーから送信されます [メール保護]別の存在しないユーザー [メール保護]レターはホストコムコンピュータを介して送信され、メッセージをリダイレクトできます(「domain.comの電子メールを受け入れる」モードは有効になっていません)。 ドメインB.comのメールサーバーがアドレスにメッセージを送信します [メール保護]そのユーザー [メール保護]存在しない。 次に、A.comドメインのメーラーは、ユーザーに通知します [メール保護]また、存在せず、アドレスにメッセージを送信します [メール保護]間接的な再帰が発生します。 ここで、そのようなメッセージが1つではなく、たとえば100であり、それぞれのボリュームが少なくとも1MBであると想像してください。 その結果、domain1.com --host.com --domain2.comチェーン内のサーバーの1つが「クラッシュ」するはずです。


図。 13.2。 基本的なsendmail構成

申し訳ありませんが、少し話題から外れています。sendmailの設定を続けましょう。 メッセージ送信プロトコルをsmtp(メールゲートウェイプロトコル)に設定します。

この情報は、sendmailを起動して実行するのにすでに十分です。 netconfを使用して、sendmailプログラムに追加のオプションを設定できます。

sendmailが許可されたアドレスからのメールのみを受け入れるようにします。 これを行うには、sendmail自体を構成する必要はありません。/etc/hosts.allowファイルと/etc/hosts.denyファイルを微調整するだけです。 1つ目は、このマシンへのアクセスを許可されているホストのリストを含み、2つ目は、拒否されているホストのリストを含みます。 注意:名前にもかかわらず - 「許可」または「禁止」の場合、最初のファイルによって設定される制限ははるかに厳しくなります。 たとえば、ネットワーク上のコンピュータを除くすべてのホストへのアクセスを拒否するには、行192.168.1を/etc/hosts.allowファイルに追加します。

ここでは、ネットワークのアドレスが192.168.1.0で、マスクが255.255.255.0であることを意味します。 コマンドmanhosts.allowを入力すると、hosts.allowファイルとhosts.denyファイルの形式について詳しく読むことができます。

今度はPOP3の番です。 imapパッケージをインストールすると、ほとんどすべてがセットアップされます。 すでに構成の確認は可能だと言いたいです。 使用しているinetdデーモンまたはxinetdデーモンのいずれかを再起動し、次のように入力します。

telnet<имя_только_созданного_почтовика> 25

応答すると、次のようなものが表示されます。

192.168.1.1を試しています。 ..。 ..。
192.168.1.1に接続しました
エスケープ文字は
220 de.dhsilabs.com ESMTP Sendmail 8.11.0 / 8.8。76月17日日曜日
2001 10:54:22 +300

これは、sendmailが機能していることを意味しますが、それがどれだけうまく機能しているかはまだわかりません。 これを行うには、次のように入力します。

からのメール: [メール保護]
220 2.1.0 [メール保護]…。 送信者OK
rcpt to: [メール保護]
220 2.1.5 [メール保護]…。 受信者OK

その後、dataコマンドを入力し、次にメッセージのテキストを入力し、入力を終了するには、空の行にピリオドを入れます。 Sendmailは、メッセージが送信されたことを通知します(より正確には、メッセージは送信キューに入れられました)。 録音 [メール保護]-メールの送信先のユーザーの名前。 ユーザーは本当に存在している必要があります。 den.dhsilabs.comエントリは、メーラーの名前です。

注意。 名前 [メール保護]およびdhsilabs.comが例として示されています。 代わりに、独自の値を提供する必要があります。

my.host.comホストは本質的に存在せず、sendmailプログラムは「SenderOk」と報告することに注意してください。 そのため、sendmail設定で[DNSを待機]オプションを有効にすることをお勧めします。

次に、kmailなどのメールクライアントを起動して、メールを受信する必要があります。 kmailプログラムで次のネットワーク設定を使用します。ネットワーク? メールセットSMTP、ポート25、サーバー名の送信-メーラーの名前。この例ではden.dhsilabs.comです。 次に、POP3のアカウントを追加します。

ユーザー名-den

パスワード-システムへのログインに使用されるパスワード。

サーバー-den.dhsilabs.com

その結果、データの後に入力したメッセージが表示されます。 ただし、名前の解決に問題がある可能性があります。 これらを回避するには、DNSを正しく構成するか、メールサーバーの名前の代わりにそのIPアドレスを使用する必要があります。 新しいユーザーを追加するときは、必ずログインパスワードを設定してください。 これを行わずに、パスワードを指定せずにメールを受信しようとすると、「認証に失敗しました」というメッセージが表示されます。

sendmailの基本構成は、コンフィギュレーターを使用すると非常に簡単ですが、基本構成では不十分な場合があります。 より正確な構成を行うには、sendmail構成ファイルに精通している必要があります。

注意。ほとんどの場合、スパマーがあなたを彼らの「保護領」の下に連れて行くまで、あなたは基本的な設定に満足するでしょう-それからあなたはChを読む必要があるでしょう。 23スパムからの保護方法について。 ただし、マーフィーの法則の1つが機能する可能性があります。システム用にsendmailコンフィギュレーターが開発されないため、構成ファイルを処理する必要があります。

メインのsendmail構成ファイルは/etc/sendmail.cfです。 一部のディストリビューションでは、このファイルは/ etc / mailディレクトリにあります。 このファイルについては、ビル・ゲイツのリムジンよりも長く、「目が怖い、手がしている」モードで編集されていると言われています。 あなたが私を信じていないなら、このファイルを開いてください、そしてあなたはそれを確信するでしょう。 このファイルを手動で編集できるのは、プロの管理者またはsendmail開発者だけです。

通常、このファイルの編集にはm4マクロプロセッサが使用されます。 まず、特別なmcファイルを準備します。 このファイルには.sendmail設定が含まれていますが、より「読みやすい」形式になっています。 構成ファイルを編集する場合、それらのサイズも影響します。 比較のために、私のmcファイルは2459バイトで、sendmail.cfファイルは46302バイトです。 2キロバイトのファイルを編集することと、ファイルサイズが46キロバイトの場合はまったく別のことです。 sendmail構成ファイルとは異なり、特定のmcファイルの目的をすぐに理解できます。 次に、mcファイルを編集した後、m4マクロプロセッサを実行してsendmail構成ファイルを作成する必要があります。

m4 my_config.mc> /etc/sendmail.cf

このコマンドを実行する前に、sendmail.cfソースファイルをどこかに保存することを強くお勧めします。 設定が間違っている場合は、いつでも復元できます。

T4マクロプロセッサがsendmailプログラム構成ファイル(sendmail.cf)を作成するために使用するデフォルトの構成ファイルは、/ usr / share / sendmail-cf / cfディレクトリにあります。 古いバージョンのsendmailプログラムでは、/ usr / lib / sendmailディレクトリにある可能性があります。

通常、このファイルはsendmail.mcと呼ばれます。 Red Hatオペレーティングシステムを使用している場合、またはそれと互換性がある場合は、別の方法で呼び出すことができます。たとえば、redhat.mcです。

標準の/usr/share/sendmail-cf/cf/redhat.mcファイルの例をリスト13.1に示します。

リスト13.1 標準のredhat.mcファイル

迂回(-1)
dnlこれはsendmailマクロ構成ファイルです。 このファイルに変更を加えると、
dnl sendmail-cf rpmをインストールしてから、を生成する必要があります
次のコマンドを実行して、dnl new /etc/sendmail.cfを実行します:dnl
dnl m4 /etc/mail/sendmail.mc> /etc/sendmail.cf
dnl
インクルード( "../ m4 / cf.m4")
VERSIONID( "Red Hat LinuxのLinuxセットアップ")dnl
OSTYPE( "linux")
定義( "confDEF_USER_ID"、 "8:12")dnl
undefine( "UUCP_RELAY")dnl
undefine( "BITNET_RELAY")dnl
定義( "confAUTO_REBUILD")dnl
定義( "confTO_CONNECT"、 "1m")dnl
定義( "confTRY_NULL_MX_LIST"、true)dnl
定義( "confDONT_PROBE_INTERFACES"、true)dnl
定義( "PROCMAIL_MAILER_PATH"、 "/ usr / bin / procmail")dnl
define( "ALIAS_FILE"、 "/ eto / aliases")dnl
dnl define( "STATUS_FILE"、 "/ etc / mail / statistics")dnl
定義( "UUCP_MAILER_MAX"、 "2000000")dnl
定義( "conf USERDB_SPEC"、 "/etc/mail/userdb.db")dnl
define( "confPRIVACY_FLAGS"、 "authwarnings、novrfy、noexpn、restrictqrun")dnl
定義( "confAUTH_OPTIONS"、 "A")dnl
dnl TRUST_AUTH_MECH( "DIGEST-MD5 CRAM-MD5 LOGIN PLAIN")dnl
dnl define( "confAUTH_MECHANISMS"、 "DIGEST-MD5 CRAM-MD5 LOGIN PLAIN")dnl
dnl define( "confTO_QUEUEWARN"、 "4h")dnl
dnl define( "confTO_QUEUERETURN"、 "5d")dnl
dnl define( "confQUEUE_LA"、 "12")dnl
dnl define( "confREFUSE_LA"、 "18")dnl
dnl機能(delay_checks)dnl
機能( "no_default_msa"、 "dnl")dnl
機能( "smrsh"、Vusr / sbin / smrsh ")dnl
機能( "mailertable"、 "hash-o /etc/mail/mailertable.db")dnl
機能( "virtusertable"、 "hash –o /etc/mail/virtusertable.db")dnl
FEATURE(リダイレクト)dnl
機能(always_add_domain)dnl
機能(use_cw_file)dnl
機能(use_ct_file)dnl
機能(local_procmail、 ""、 "procmail –t –Y –a $ h –d $ u")dnl
機能( "access_db"、 "hash –o /etc/mail/access.db")dnl
機能( "blacklist_recipients")dnl
EXPOSED_USER( "root")dnl
dnlこれにより、sendmailがループバックデバイス127.0.0.1でのみリッスンするように変更されます。
dnlであり、他のネットワークデバイスにはありません。 必要に応じてコメントしてください
dnlは、ネットワーク経由で電子メールを受け入れます。
DAEMON_OPTIONS( "ポート= smtp、アドレス= 127.0.0.1、名前= MTA")
dnl注:IPv4デーモンとIPv6デーモンの両方を同じポートにバインドするには、
カーネルパッチをdnl
dnl DAEMON_OPTIONS(xport = smtp、Addr = :: 1、Name = MTA-v6、Family = inet6 ")
dnl保護したい場合は、これをコメントアウトすることを強くお勧めします
スパムから身を守ってください。 ただし、ラップトップとコンピューター上のユーザー
dnlには24時間年中無休のDNSがありません。これは必要です。
機能( "accept_unresolvable_domains")dnl
dnl機能( "relay_based_on_MX")dnl
MAILER(smtp)dnl
MAILER(procmail)dnl
Cwlocalhost.localdomain

FEATUREディレクティブを使用して、sendmailプログラムの1つまたは別の機能を接続できます。 たとえば、mailertable関数は、特定のドメインのルーティングをオーバーライドするように設計されています。 必要な関数をmcファイルに追加することで、sendmailプログラムの機能を簡単に拡張できます。

ドメイン内のコンピューターの名前を非表示にしたいとします。 これは、masquerade_envelope関数をmcファイルに追加することで簡単に実現できます。 これを行うには、redhat.mcファイルをhide_hosts.meファイルにコピーし、hide_hosts.meファイルの最後に次の行を追加します。

MASQUERADE_AS(my-domain.ru)dnl
FEATURE(masquerade_envelope)dnl

次に、次のコマンドを実行します。

m4 /usr/share/sendmail-cf/cf/hide_hosts.me> /etc/sendmail.me

それで全部です! ノード名は非表示になります。 その他の機能の説明を表に示します。 13.1。

Sendmail関数表13.1

関数 説明
access_db アクセステーブルを定義します。 この表は、メールサーバーを介したメールの送信を許可または拒否されているホストを示しています。 このオプションは、スパムと戦うために効果的に使用されます。 スパム保護については、Ch。の同名のセクションで詳しく説明されています。 23
accept_unresolvable_domains 認識できないドメインへのメール送信を許可します
bestmx_is-ローカル MX DNSレコードがこのメールサーバーを指している場合にのみ、メッセージが受け入れられます
blacklist_recipients 「ブラックリスト」。 スパムと戦うための別のオプション。 これを機能させるには、access_dbオプションが必要です。
dnsbl ブラックリストを操作するために使用されるdnsblは、DNSブラックリストの略語です。 以前のバージョンでは、このオプションは(ブラックリストの解決)と呼ばれていました
ドメインテーブル ドメイン名を解決するために使用されます
genericstable メッセージの送信アドレスを変更するために使用されます
local_procmail ローカルのprocmailユーティリティを使用してメールを配信する必要があることを示します
郵送可能 特定のドメインのルーティングを上書きします
masquerade_entire_domain ドメイン全体をマスク(非表示)するために使用されます。 この関数は、MASQUERADE AS(またはMASQUERADE_DOMAIN)ディレクティブと組み合わせて使用​​する必要があります(例:MASQUERADE_AS(f117.ru)dnl)。
masquerade_envelope ドメインのホスト名を非表示にできます。 メッセージを他の人に送信する前に、メッセージヘッダーの受信元フィールドを置き換えます
リダイレクト 別のメールサーバーにリダイレクトするために使用されます。 メッセージの発行を伴うメールの受け入れを拒否することを意味します試してみてください
(このアドレスを使用してみてください)
Relay_based_on_MX MX DNSサーバーレコードで指定されたホストに対してのみメール転送(リレー)を許可します
Relay_hosts_only access_dbで指定されたノードに対してのみリレーを許可します
Relay_mail_from 送信者がaccessdbのRELAYリストにリストされている場合にのみリレーを許可します
smrsh 限定されたsendmailシェルの使用
use_cf_file この関数を指定すると、sendmailはsendmail.cfファイルで信頼できるユーザーのリストを探します。
use_cw_file この関数を指定すると、sendmailはsendmail.cwファイルでローカルホストのリストを探します。
virtusertable 受信者のアドレスをローカルユーザーのアドレスに変換します

/etc/mail/sendmail.cwファイルには、特定のメールサーバーのすべてのエイリアスが一覧表示されます。 サーバー名がmail.dhsilabs.ruであるとします。 送信者がそのアドレスにメールを送信する場合 [メール保護]、手紙は問題なくユーザーの巣窟に届けられます。 そして誰かがその住所に手紙を送ったら [メール保護]、メッセージがdhsilabsドメインのどのノードにアドレス指定されているかが明確でないため、その配信は特定の問題を引き起こしますか? この問題を解決するには、sendmail.cwファイルに行を入れる必要があります。

まず、少し余談

SMTP-シンプルメール転送プロトコル-メッセージ(つまりメール)を転送するためのTCP / IPネットワークのサービス。 通常、ポート25はSMTPに使用されます(ファイル/ etc / servicesを参照)

POP(Post Office Protocol)は、サーバーからメールを受信するために使用されます。 デフォルトのポートは110です(POP3プロトコルの場合)

次に、POP3とSMTPを使用して小さなメールサーバーをセットアップする方法を説明します。

まず、必要なソフトウェアをインストールします。 sendmailとimapが必要です。 LinuxのRH互換バージョンを使用している場合は、適切なパッケージをインストールする必要があります。
私が使う
sendmail-8.11.0
imap-4.7c2

sendmailの構成を開始する前に、DNSを正しく構成する必要があります。そうしないと、このプログラムは正しく機能しません(ただし、dnsを使用せずにsendmailを機能するように構成できます)。

sendmailの基本構成を作成しましょう。 これを行うには、ユーティリティを実行する必要があります
netconf..。 Xの下とコンソールの下の両方から機能します。
netconfユーティリティはRH、Mandrakeにあります-他のバージョンについてはよくわかりません。 (KSI Linuxでは使用できません)。 当然、rootとしてログインする必要があります。

メニューから選択 メール配信システムその後 基本的なsendmail構成
[システムを名前を付けて表示]フィールドに、ドメイン名を入力するだけです
次に、チェックボックスをオンにします のメールを受け入れる...
メッセージ送信プロトコルをsmtp( メールゲートウェイプロトコル)

この情報は、sendmailを起動して実行するのにすでに十分です。
sendmailプログラムの追加オプションは、次のコマンドで設定できます。
netconf。 sendmailがない場合は、忘れられないものになります
/etc/sendmail.cfファイルを手動で編集する喜び-その中
設定が保存されます):)

それでは、sendmailが承認されたメールのみを受け入れるようにしましょう。
アドレス。 これを行うには、sendmail自体を構成する必要はありません-必要なのは
正しいファイル/etc/hosts.allowおよび/etc/hosts.deny
最初のものには、これへのアクセスが許可されているホストのリストが含まれています
車、そして第二にそれは禁止されています。 注意:名前にもかかわらず
(許可|拒否)、最初のファイルによって設定される制限
はるかに厳しい。

例。 コンピューターを除くすべてのホストへのアクセスを拒否するには
/etc/hosts.allowファイルのネットワークに行を追加します
"192.168.1.
ここでは、ネットワークのアドレスが192.168.1.0で、マスクが255.255.255.0であることを意味します。
hosts.allowおよびhosts.denyファイル形式の詳細については、
コマンドman / etc / hosts.allowを入力して

「あなたの」ドメインからのみメールを受信するには、に追加する必要があります
mcファイル(通常は/etc/mail/sendmail.mc)次の行(
スペースではなくタブ)
LOCAL_CONFIG
FR-o /etc/sendmail.cR

LOCAL_RULESETS
Scheck_rcpt
#ローカルで終了するものはすべて問題ありません
R< $+ @ $=w > [メール保護] OK
R< $+ @ $=R > [メール保護] OK

#ローカルで発生したものはすべて問題ありません
R $ * $:$(dequote "" $&(client_name)$)
R $ = w [メール保護] OK
R $ = R [メール保護] OK
[メール保護] [メール保護] OK

#他のものは偽物です
R $ * $#エラー$: "550リレーが拒否されました"

次に、ファイル/etc/sendmail.cRを作成し、そのファイルに「自分の」ドメインの名前を入力します-
各行に1つずつ。
これらのドメインの場合のみ、メーラーはメールを受信できます-他のすべての人が受信します
550リレー拒否メッセージ

今度はPOP3の番です。 imapパッケージをインストールした後、あなたは実質的に
すべてが設定されています。 すでに構成の確認は可能だと言いたいです。

まず、inetdデーモンを再起動します
再起動すると、sendmailサービスとpopdサービスがアクティブになります(より正確には
1つのsendmailとpopdが必要に応じて呼び出されます)

次のことを試してください。
telnetを入力してください<имя_только_созданного_почтовика> 25
次のようなものが表示されます。
192.168.1.1を試す..。
192.168.1.1に接続しました
エスケープ文字は「^]」です
220 de.dhsilabs.com ESMTP Sendmail 8.11.0 / 8.8.7 2001年6月17日日曜日10:54:22 + 300

これは、sendmailが機能していることを意味しますが、どれほど正しいかはまだわかりません:)

導入する
からのメール: [メール保護]
220 2.1.0 [メール保護]....送信者OK
rcpt to: [メール保護]
220 2.1.5 [メール保護]....受信者OK
次に、データを入力し、次にメッセージのテキストを入力して、入力を終了します。ピリオドを入力します。
空の行に

Sendmailは、メッセージが送信されたことを通知します(より正確には、メッセージは
出発待ち行列)

[メール保護]-私がメールを送信しているユーザーの名前。
den.dhsilabs.com-私のメーラーの名前
自然界にはmy.host.comホストはありませんが、SenderOkであることに注意してください。
そのため、sendmailの設定では、[DNSを待機]オプションを有効にすることをお勧めします

次に、kmailなどのメールクライアントを起動する必要があります
メールを受け取ります。
kmailのネットワーク設定
ネットワーク->メール送信セットSMTP、25番目のポート、サーバー名-
メーラーの名前、
私が持っている-den.dhsilabs.com

次に、POP3のアカウントを追加します
ログ-den
パスワード-システムへのログインに使用されるパスワード
サーバー-den.dhsilabs.com
ポート-110

データの後に入力したメッセージが表示されます。

あなたはほとんど必要ありません Webサーバーあなたのサイトからメールを送ることはできません。 以下は、すばやくデプロイする簡単な方法です sendmailサイトにメールを送信するMTA(メール転送エージェント)として。

始めること インストール

Sudo apt-get install sendmail

2番目で最も重要なことは、ホスト自体の正しい構成です。 メーラーは、ホストが持つDNS FQDN名と、それが広大な世界のネットワークに存在することを正確に知る必要があります。

サーバーが sendmailは機能します IPアドレスを持っている 123.123.123.123

ドメイン名domainame.comもあり、サーバーのIPアドレスに正しく委任されています。

ファイルの編集 / etc /ホストサーバーが自身のDNS名を認識できるようにします(もちろん、正しくて本物である必要があります)

Sudo nano -w / etc / hosts

追加する必要がある2行目は、サーバードメイン名の説明、ホストの実際のIPアドレスおよび内部システム名との比較です。

127.0.0.1ローカルホスト 123.123.123.123 box1.domainname.com your-web-server

次に、ファイルに変更を加える必要があります / etc /ホスト名

Sudo nano -w / etc /ホスト名

そして、そこに入力された正しいサーバー名を入力します / etc /ホストこの例では、これはyour-web-serverです。

編集後の/ etc /ホスト名ファイルの内容:

あなたのウェブサーバー

これらの手順の後、サーバーを再起動するか、以下を実行する必要があります。

/etc/init.d/hostname restartそして2つのコマンドを実行します:hostname hostname -f

すべてが正しい場合、システムはどちらの場合も同じ名前を返す必要があります。 your-web-server

アドバイス 手紙の送付を確認してくださいこの方法では

# telnet localhost smtpは次のようになります:試行中:: 1 ...試行中127.0.0.1 ... localhostに接続しました。 エスケープ文字は「^]」です。 220 localhost6.localdomain6 ESMTP Sendmail 8.14.3 / 8.14.3 / Debian-9.2ubuntu1; 2010年12月9日木曜日15:31:17 + 0200; (UCE / UBEなし)ログアクセスから:localhost.localdomain(OK)-localhost.localdomain入力:HELO localhostは私たちに:250 localhost6.localdomain6こんにちはlocalhost.localdomain、あなたに会えてうれしい入力:MAIL FROM: [メール保護]それは私たちに与えます:250 2.1.0 [メール保護]送信者OK入力:RCPT宛先: [メール保護]それは私たちに与えます:250 2.1.5 [メール保護]受信者OK入力:DATAから:354メールを入力し、「。」で終了します。 1行に単独で、テストメッセージを入力します。 上記のメールは、telnetが私たちに書き込む最後のメールに置き換えられるべきだとあなたが推測したことを願っています250 2.0.0oB9DVHsE004837メッセージの配信が受け入れられました

指定された電子メールに対して一連のコマンドを実行した結果( [メール保護])メッセージが来るはずです(「テストメッセージ」)。

PHP.iniのセットアップ

gedit/etc/php5/apache2/php.ini

次の行を見つけて編集する

sendmail_path = / usr / sbin / sendmail -t -i

メール()機能の確認

エコー郵便物 (" [メール保護]"、"テストメッセージ "、"テストメッセージ "、"差出人: [メール保護]"); ?>

セットアップが完了しました。成功することを願っています UbuntuでSendmailを構成する

最も古いものの1つのインストールおよび構成ガイド MTA (メール転送エージェント)、電子メールを送信するためのプログラム- sendmailこれは、どのオペレーティングシステムにもインストールできます。 多くのOSでは、sendmailがデフォルトでインストールされており、この標準MTAを別のMTAに変更する特別な必要はありません。 同時に、同じPHPが、このMTAで動作するようにデフォルトで構成されています。 sendmailの設定に時間がかかる場合-postfix()を付ければ、多くの時間を無駄にする必要はありません。

準備

sendmailがインストールされていて、exim4または別のMTAがインストールされていないかどうかを確認します。

Ls -la `which sendmail`#lrwxrwxrwx 1 root root 26 2011-01-17 19:58 / usr / sbin / sendmail-> / etc / Alternatives / sendmail

インストール

sudo apt-get install sendmail sasl2-bin

/ etc / hostsの構成

127.0.0.1 localhost localhost.localdomain e5530
注意

メインホスト(コンピューター名、私のものはe5530)とlocalhost.localdomainを指定する必要があります。指定しないと、エラーが発生します。 修飾されていないホスト名(myhostname)が不明です。 再試行のためにスリープ中 "および"自分のドメイン名を修飾できません(e5530)-短い名前を使用、sendmail 起動に時間がかかり、メールの送信が遅くなります。 おそらくホスト localhost.localdomain スキップできますが、わかりません。

その後、ローカルホストの名前を指定する必要があります。 sendmail/ etc / mail / local-host-namesファイルで電子メールメッセージを送信する要求を受け入れます。

AuthInfo:smtp.gmail.com "U: [メール保護]"" 私: [メール保護]"" P:YourPass "" M:PLAIN "AuthInfo:smtp.gmail.com:465" U: [メール保護]"" 私: [メール保護]"" P:YourPass "" M:PLAIN "

注意

ポート465の代わりに、587をノックしてみることができます(認証に問題がある場合)。

AuthInfo:smtp.gmail.com:587 "U: [メール保護]"" 私: [メール保護]"" P:YourPass "" M:PLAIN "

Chmod 600 / etc / mail / auth / *

Sendmail.mc構成

構成ファイル/etc/mail/sendmail.mc。 構成を比較します。 それはこのようなものでなければなりません..指示の順序は重要です!

Dnl#include( `/etc/mail/m4/dialup.m4")dnl include(` /etc/mail/m4/provider.m4")dnl include( `/etc/mail/tls/starttls.m4")dnl include( `/etc/mail/sasl/sasl.m4")dnl FEATURE(` authinfo "、` hash / etc / mail / auth / client-info ")dnl define(` SMART_HOST "、` smtp.gmail.com " )dnl define( `RELAY_MAILER_ARGS"、 `TCP $ h 587")dnl define( `ESMTP_MAILER_ARGS"、 `TCP $ h 587")dnl dnl#dnl#デフォルトのメーラー設定MAILER_DEFINITIONS MAILER( `local")dnl MAILER( `smtp" )dnl define( `confAUTH_MECHANISMS"、 `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN")dnl#dnl define( `confDOMAIN_NAME"、 `e5530")dnl

sendmail構成の使用

cd / etc / mail sudo su#sudoだけでは動作しません! m4 sendmail.mc> sendmail.cf makemap -r hash authinfo.db< auth/client-info make /etc/init.d/sendmail restart # Перезагрузка конфига

問題と解決策

すべてが正しく構成されているが、メッセージが「保留キュー」に送られ、別のSMTPに中継されない場合:

  1. あなたのIPをチェックしてください「ブラックリストのシュニック。禁止されているIPはここsmart-ip.netでチェックできます。私のIPはspamhausデータベースに入りました」a。
  2. プロバイダーがポート25で発信パケットをブロックしているかどうかを確認します。
Intertelecomの問題!

Intertelecom接続のsendmailを介してGMailでメッセージリレーを構成できませんでした。sendmailはISPによって閉じられているポート25を頑固にノックしました。 postfixを設定する必要がありました。

PHP構成(必要な場合)

/etc/php5/apache2/php.ini構成(/etc/php5/cli/php.ini)でsendmail起動パラメーターを指定します。

## PHP用のsendmailの構成:sendmail_path = / usr / sbin / sendmail -t; sendmail_path = "/ usr / sbin / sendmail -t -f [メール保護]-私 "

設定を確認しましょう

エコー「メッセージテキスト」| mail -s "Subjet" [メール保護] sendmail -t [メール保護]-f [メール保護]-v -i< ~/mail-body.txt

postfixをテストするには、コンソールから複数のメッセージを送信してみてください。 この記事でこれを行う方法を説明しました: ""。

Sendmail管理

メッセージキュー全体を表示します。

Sudo mailq

特定のアドレスのメッセージキューを表示します。

Sudo mailq | grep " [メール保護]"| wc -l

sendmailメッセージキュー全体をクリアします。

Sudo rm -r / var /スプール/ mqueue-クライアント/ *

宛先のsendmailメッセージキューをクリアします。

Cd / var /スプール/ mqueue ls | xargs -ti sh -c "grep" [メール保護]""() "> / dev / null && rm -f"() ""

#sendmail、#LAMP、#MTA

追伸 Linuxコンソールをかなり良いレベルで学びたいのであれば、DenisKolisnichenkoによる新しい本を読むことをお勧めします。 Linuxコマンドラインとルーチンタスクの自動化».

トピックの続き:
ルーター

標準のガジェットは、最新バージョンのWindowsOCから無条件に削除されています。 しかし、ユーザーは何か良いものを失うことに慣れていないため、アナログを積極的に使用しています。 ずっと前に ...