GNU/Linux >> Linux の 問題 >  >> Debian

UbuntuまたはDebianにPostfixメールサーバーとDovecotをインストールします

Ubuntu/DebianでのPostfixSMTPサーバーのセットアップ

あなたはあなた自身のドメイン名とあなた自身のvps/専用サーバーを持っていて、電子メールにドメイン名を使用したいと思っています。したがって、SMTPサーバーとimap/popサーバーを使用してメールサーバーをセットアップする必要があります。

このチュートリアルでは、Postfix(smtpサーバー)とDovecot(imap / popサーバー)をセットアップする方法を示します。 SMTPサーバーのタスクは、受信メールを受け入れ、システム上の許可されたユーザーからの送信メールを中継することです。

Dovecotを使用すると、承認されたユーザーは受信トレイにアクセスして、そこにあるメールを読むことができます。

単純な構成-これは行っていません

Postfixの最も単純な種類の構成では、「mydestination」構成パラメーターにドメイン名「xyz.com」を指定するだけで、silverという名前の(linux)ユーザーがいる場合に[email protected]などのメールを受信できるようになります。システム上。

この手法は単純ですが、大きな欠点があります。まず、必要な新しい電子メールアドレスごとに新しいUNIXユーザーアカウントを作成する必要があります。

次に、ユーザーはシステムパスワードを使用してログインする必要があります。したがって、これはメールアカウントを設定するための非常に柔軟な戦略ではありません。

これとは別に、Postfixが受信メールを保存するディレクトリ(デフォルトでは/ var / mail)から受信メールを読み取るようにDovecotを設定できます。そのようなdovecotでpostfixを設定する方法を示すDigitalOceanに関する記事があります。

パスワードと一緒にファイルに書き込むだけで、すばやくメールアドレスを作成できるように設定します。

必要な数のドメインを追加し、必要な数のメールを作成します。すべてのドメインが暗号化および認証されます。

作成するメールアカウントは、システムユーザーやシステムドメインとは関係がないため、「仮想ユーザー」と「仮想ドメイン」と呼ばれます。仮想とは、システム固有のものとは関係がないことを意味します。
>

どのように機能しますか? -専門用語

1.サーバー宛てのすべての受信メールは、Postfix(SMTP)で受信され、受信トレイに保存するためにDovecot(LMTP)に渡されます。

dovecotの組み込みlmtpサービスは、クォータ、権限、メールボックスの柔軟なディレクトリ構造など、より多くの機能を提供するため、これはより優れています。

受信メール(どこかから)-> Postfix(SMTP)-> Dovecot(LMTP)-> MailBox / Inbox 
このため、Postfixは、メールを出し入れするだけの「送信エージェント」になり、他には何もありません。

2.すべての送信メールはPostfixによって送信されるものとします。ただし、認証されたアカウントからのみです。

送信メール(Thunderbird)-> Postfix(SMTP)-> Gmailのような宛先(SMTP)

3. Dovecotは、メールクライアントが受信トレイを読み取れるようにIMAP/POPサービスを提供するものとします。

 Thunderbird <==> Dovecot(IMAP)<==>受信トレイ

4. Dovecotは、SASLを介してPostfixに認証メカニズムを排他的に提供するものとします。
電子メールアカウント-ユーザー名+パスワードはファイルに保存されるものとします。

(ファイルではなく)データベースにドメインと電子メールアカウントを設定する場合は、linode.comでこのチュートリアルに従ってください

ドメインのMXレコードを設定する

先に進む前に、メールサーバーで使用するドメインのMXレコードが正しく設定されていることを確認してください。 Linodeのようなほとんどのサーバープロバイダーは、mxレコードのゾーンエントリを設定するための簡単なインターフェイスを提供します。

ドメインがexample.comの場合、mxはたとえばmail.example.comになります。 digコマンドを使用して確認します-

#MX(メール交換)サーバーを検索$ dig MX amazon.com + short5 amazon-smtp.amazon.com。#mxサーバーのIPアドレスを検索$ dig amazon-smtp.amazon.com + short207.171.184 .25 

MX(メールサーバー)のIPアドレスが、postfixとdovecotをセットアップするサーバーのものであることを確認してください。

ubuntuでのPostfixメールサーバーの構成を段階的に

最初に設定するのはPostfixです。私たちの設定では、Postfixはすべての送信メールを送信することを忘れないでください。ただし、すべての受信メールについては、保存と後でメールクライアントによるアクセスのためにDovecotに渡されます。

最初に知っておくべきこと

1. Postfixは、すべてのアクションを/var/log/mail.logというファイルに記録します。有用な情報を確認し、問題の診断にかかる時間を節約してください。

2. postconfコマンドは、Postfixの構成を確認するためのツールです。すべてをname=value形式で行ごとに一覧表示します。したがって、grepコマンドを使用して必要なものを見つけてください。

3.すべてのPostfix設定パラメータはファイル/etc/postfix/main.cfにあります
パラメータは-"man5postconf"にあるmanページで説明されています

Postfixのインストールと設定

さて、まだ行っていない場合は、Postfixをインストールしてください。リポジトリ内にあるので、何か新しいものが必要な場合を除いて、他の場所を探すべきではありません。

 $ sudo aptitude install postfix 

心配しないでください、残りはそれほど簡単ではありません。 Postfixをインストールした後、バージョンを確認することをお勧めします。これを行うためのコマンドは次のとおりです。

 $ postconf mail_versionmail_version =2.10.2 $ postconf | grep mail_versionmail_version =2.10.2 

main.cfを構成します

このセクションでは、 /etc/postfix/main.cfにあるPostfixメイン設定ファイルでいくつかの設定を行います。 。

これらには、ホスト名、SASL認証用のパラメーター、dovecotlmtpおよびdovecotsasl認証サービス用のunixソケット、Postfixが受信メールの受信を担当するvirtual_mailbox_domainsのリストが含まれます。

トリッキーなパラメータ!!!

次のパラメータは、予期しない問題を回避するために理解して適切に構成する必要がある3つの非常に紛らわしいパラメータです。

 myhostnamemydomainmyorigin 

サーバー上で複数のドメインをホストしている可能性があります。たとえば、abc.com + efg.com+xyz.comです。それらの1つをプライマリドメインとして使用し、それを「myorigin」に使用する必要があります。 myoriginフィールドは、postfixのインストール中に自動的に構成され、サーバーのドメインを要求するフィールドです。

デフォルトでは、myoriginは/ etc / mailnameを指すように構成されているため、デフォルトのドメインを/ etc / mailnameに入力するか、構成ファイルで直接指定できます。

 myoriginで指定されたドメインは、Postfixによって生成されたメールに使用されます。たとえば、メールの配信に失敗した場合、「メール配信システム」の差出人アドレスで応答します。

myhostnameパラメータには、mxレコードで示される「メールサーバー名」が含まれている必要があります。これは、Postfixが自分自身を識別するためにSMTP通信で使用する名前です。例:「HELOmyhostname」。

 myhostnameを特定のドメインに設定すると、後でそのドメインのSPFレコードを設定できるようになります。これは、SPF仕様によって決定されます。

myhostnameを「localhost」だけのままにしておくと、問題なく動作します。ただし、その場合、Gmailなどの他のメールサーバーに接続するときにサーバーは「HELOlocalhost」などのメッセージを使用し、Gmailは迷惑メールを呼び出すメールを怒って拒否します。

したがって、有効なAおよびTXT(SPF)レコードを使用して、myhostnameを適切なドメイン名に構成することをお勧めします。また、必ずmyoriginを設定してください。

構成例-

 myhostname =mail.yoursite.commyorigin =yoursite.com 

技術的には、単一のサーバーでは、myhostnameに同じ値のmyoriginを使用できます。ただし、複数の個別のサーバーを含むさまざまなセットアップでは、これらのフィールドの値をより慎重にセットアップする必要があります。

詳細については、Postfix基本構成ガイドをお読みください。

main.cfでLMTPソケットを構成します

virtual_transportパラメータは、「virtual_mailbox_domains」にリストされているドメインのdovecotにメールを転送/転送するようにpostfixに指示します。

#DovecotのLMTPvirtual_transport =lmtp:unix:private / dovecot-lmtp
へのローカル配信の受け渡し

パス「private/dovecot-lmtp」は、「/ var / spool /postfix/」からの相対パスです。実際のUNIXソケットは、後でDovecot構成セクションで構成する必要があります。

main.cfでSASLを構成します

ここでは、PostfixのSASLベースの認証を設定するためのパラメータを設定します。 Postfixは内部的にUNIXソケットを介して「DovecotのSASLサービス」と通信することができます。

 #認証されたユーザーのSMTPを有効にし、認証をDovecotsmtpd_sasl_type =dovecotsmtpd_sasl_path =private / authsmtpd_sasl_auth_enable =yessmtpd_tls_auth_only =yes
に渡します

Postfixのインストールでサポートされているさまざまなsmtpd_sasl_typeプラグインを確認するには、次のコマンドを実行します。

#postconf -acyrusdovecot 

main.cfにメールボックスドメインを追加します

ここでは、Postfixが受信メールを「受け入れる」ドメインを指定します。したがって、ここですべての社内ドメインを指定します。ドメインをvirtual_mailbox_domainsという名前のファイルに入れます。

 #Virtualドメイン、ユーザー、エイリアスvirtual_mailbox_domains =/ etc / postfix / virtual_mailbox_domains#virtual_mailbox_maps =/ etc / postfix / virtual_mailbox_maps 
#nano / etc / postfix / virtual_mailbox_domains 

ドメインを1行に1つずつ入力します

 example.com OKmysite.com OK 

次に、ファイルに対してpostmapを実行します。 Postfixで使用されるvirtual_mailbox_domains.dbという名前のファイルが作成されます

#postmap / etc / postfix / virtual_mailbox_domains 

virtual_mailbox_mapsテーブルを使用して、virtual_mailbox_domainsにリストされているドメインの有効な電子メールアドレスを指定できます。

ただし、Dovecotを介したSASL認証が検証を行うため、これは必要ありません。

SMTPSとMSAを有効にする--master.cf

ポート25のSMTPサービスに加えて、より多くのサービスを有効にする必要があります。 SMTPSはポート465で動作し、MSA(メール送信エージェント)はポート587で動作します。SMTPはSSL / TLS認証タイプを使用し、MSAはSTARTTLSを使用します。

/etc/postfix/master.cfという名前のファイルで「submission」と「smtps」のセクションを見つけて、最初の行のコメントを外します。はい、最初の行のみ

 ... subject inet n --- --- smtpd#-o syslog_name =postfix / subject#-o smtpd_tls_security_level =encode#-o smtpd_sasl_auth_enable =yes#-o smtpd_reject_unlisted_recipient =no#-o smtpd_client_restrictions =$ mua_ smtpd_helo_restrictions =$ mua_helo_restrictions#-o smtpd_sender_restrictions =$ mua_sender_restrictions#-o smtpd_recipient_restrictions =permit_sasl_authenticated、reject#-o smtp =yes#-o smtpd_reject_unlisted_recipient =no#-o smtpd_client_restrictions =$ mua_client_restrictions#-o smtpd_helo_restrictions =$ mua_helo_restrictions#-o smtpd_sender_restrictions =$ mua_sender_restrictions#-o smtp 

「submission」行はポート587でMSAサービスを有効にし、「smtps」はポート465でSSL対応のSMTPサービスを開始します。

SMTPSは非推奨になり、STARTTLSをサポートしないMicrosoftアプリケーションとの互換性のためにのみ維持されるため、送信サービスのみを有効にすることをお勧めします。

歴史的な仕様により、技術的にはポート25、465、587はほぼ同じことを行います。ただし、物事が進化するにつれて、それらは再定義されています。

ポート25-MTA(メール送信エージェント)用です。 MTAサービスは、他のMTAおよびMSAがメールに接続して配信できるようにすることです。

ポート465/587-MSA(メール送信エージェント)用です。 MSAサービスは、MUA(thunderbirdなどのメールユーザーエージェント)が接続してメールを配信するためのものです。

 Thunderbird(MUA)->サーバーsmtp(MSA / MTA)-> gmail(MTA)->受信トレイ

Postfixを再起動

Postfixの設定が完了しました。今すぐ再起動してください。

 $ sudo service postfix restart 

Dovecotのインストールと構成

Postfixのインストールと設定はこれで完了です。残っているのは、IMAP/POPサーバーであるDovecotです。しかし、Dovecotは、これから説明するように、それ以上のことを行います。

知っておくべきこと

1. Dovecotには、Postfixから渡された受信メールを保存する場所が与えられます。

2. dovecotがメールストレージディレクトリの読み取り/書き込みを行えるように、別のシステムユーザーアカウントを作成してdovecotに付与する必要があります。この例では、ユーザーの名前は「vmail」です。

3. Dovecotは、安全なIMAPおよびPOPサービスをホストして、電子メールクライアントが受信トレイを読み取れるようにします。

4. Dovecotは、UNIXソケットを介してPostfixにSASL認証サービスを提供するものとします。同じユーザー名/パスワードがPostfix(SMTPサーバー)とDovecot(IMAP / POPサーバー)の両方で機能します

5.完全な電子メールアドレス([email protected])をユーザー名として使用し、暗号化されたパスワードも設定します。

Dovecotをインストールする

最初にdovecotといくつかの必要なパッケージをインストールします。 dovecotコアパッケージとimap、pop、lmtpをサポートするパッケージをインストールします。

#sudo apt-get install dovecot-core dovecot-imapd dovecot-pop3d dovecot-lmtpd 

バージョンを確認する

#dovecot --version2.1.7 

Dovecotの構成

次に、Postfixが認証を実行できるようにユーザーアカウントとSASLソケットをセットアップするようにDovecotを構成します。すべての構成ファイルは/etc/dovecot/conf.d/内にあります ディレクトリ。

/etc/dovecot/dovecot.confを確認してください ファイルを作成し、プロトコルファイルが含まれていることを確認します。これには、それらを有効にするさまざまなプロトコルの構成ファイルが含まれています。

#インストールされているプロトコルを有効にします!include_try / usr / share / dovecot / protocols.d/*。protocol

インストールされているプロトコルは次のように一覧表示できます

#ls -l /usr/share/dovecot/protocols.dtotal12-rw-r--r--1ルートルート28Nov30 15:44imapd.protocol-rw-r--r--1ルートルート28Nov30 15:44lmtpd.protocol-rw-r--r--1ルートルート28Nov30 15:44 pop3d.protocol#

受信トレイの場所を構成する-10-mail.conf

dovecotに、メールを/ var / mail / vhostsディレクトリ内に保存し、さらに各ドメインとそのドメインの下のユーザーのサブディレクトリに配置するように指示します。

[email protected]のメールは/var/mail/vhosts/example.com/someone/に保存されます

10-mail.confファイルを編集します

 #mail_location =mbox:〜/ mail:INBOX =/ var / mail /%umail_location =maildir:/ var / mail / vhosts /%d /%n 

ディレクトリ/var/ mail / vhosts

を作成します
#mkdir / var / mail / vhosts / 

次に、そのディレクトリ内に、このサーバーでメールを受信するドメインごとにディレクトリを作成します。

#mkdir /var/mail/vhosts/example.com 

メールを読むためのユーザーを作成する

ここで、vmailとuidの名前とグループおよび5000のgidを持つユーザーを作成します。uidは任意の数にすることができますが、通常のユーザーではないことを示すために5000を選択しています。 「-r」オプションは、このユーザーがシステムレベルのユーザーであり、ログインがないことをさらに指定します。

 $ groupadd -g 5000 vmail $ useradd -r -g vmail -u 5000 vmail -d / var / mail / vhosts-c"仮想メールユーザー"

/ var / mail/vhostsで読み取り/書き込みを行うための完全な権限をvmailに付与します

 $ chown -R vmail:vmail / var / mail / vhosts / 

IMAPSおよびPOP3Sサービスを有効にする-10-master.conf

次に、dovecotにimapsおよびpopsサービスを開始するように指示します。 10-master.confファイルを編集し、サービスのポートを有効にして、sslをyesに指定します。

安全でないサービスをホストしたくないので、imapとpopのポートはコメントのままにしておきます。

IMAPSの場合-セキュアIMAP

 service imap-login {inet_listener imap {#port =143} inet_listener imaps {port =993 ssl =yes} 

POP3Sの場合-安全なPOP3

 service pop3-login {inet_listener pop3 {#port =110} inet_listener pop3s {port =995 ssl =yes}} 

lmtpソケットの構成-10-master.conf

LMTPのdovecotwikiページは、/etc/dovecot/conf.d/10-master.confでlmtpソケットをセットアップする方法の簡単な例を示しています。 ファイル。

「servicelmtp」という名前のセクションを見つけて、UNIXソケットが作成されるファイルへのパスを入力します。これと同じパスが、「virtual_transport」設定の接尾辞によって使用されます。

 service lmtp {unix_listener / var / spool / postfix / private / dovecot-lmtp {mode =0600 user =postfix group =postfix} ..... 

Postfixプロセスがソケットを使用できるようにするには、ソケットにuser:grouppostfixの権限が必要です。

SASL認証ソケットを構成する

「サービス認証」セクションを見つけて、その中に以下を追加します。すでに存在する場合は、変更するだけです。

 service auth {.....#Postfix smtp-auth unix_listener / var / spool / postfix / private / auth {mode =0666user =postfixgroup =postfix} ..... 

認証の構成

ファイルconf.d/10-auth.confを開き、disable_plaintext_auth行のコメントを解除して、yesに設定されていることを確認します。これにより、認証目的でTLS/SSL暗号化が常に使用されるようになります。

 disable_plaintext_auth =yes 

auth_mechanismという名前の設定を見つけて、コメントを外します。この設定は、パスワードがdovecotに提供される形式を指定します。

auth_mechanisms=プレーンログイン

認証ファイルを指定する

10-auth.confファイルで構成する最後のものは、パスワードデータベースです。デフォルトでは、dovecotは「システムユーザー」(/ etc / passwdのLinuxユーザー)を使用して認証するように構成されています。

ユーザー名とパスワードを含む別のファイルを使用して認証するように指示します

auth-system.conf.ext行を見つけてコメントアウトし、auth-passwdfile行のコメントを解除します。次のようになります

#!include auth-system.conf.ext#!include auth-sql.conf.ext#!include auth-ldap.conf.ext!include auth-passwdfile.conf.ext#!include auth-checkpassword.conf .ext#!include auth-vpopmail.conf.ext#!include auth-static.conf.ext 

次に、auth-passwdfile.conf.extファイルを編集します

 /etc/dovecot/conf.d# nano auth-passwdfile.conf.ext 

このように見せてください。

 passdb {driver =passwd-file args =Scheme =PLAIN username_format =%u / etc / dovecot / dovecot-users} userdb {driver =static#args =username_format =%u / etc / dovecot / dovecot-usersargs =uid =vmail gid =vmail home =/ var / mail / vhosts /%d /%n#passwd-fileでオーバーライドできるデフォルトフィールド#default_fields =quota_rule =*:storage =1G#passwd-fileのフィールドをオーバーライド#override_fields =home =/ home / virtual /%u} 

passdbセクションは、認証のためにユーザー名とパスワードを探す場所をdovecotに指示します。ファイルは/etc/ dovecot/dovecot-usersです。

username_format "%u"は、電子メールアドレス全体がユーザー名として使用されることを示します。これは、電子メールクライアントからログインするときに、SMTPとimap/popの両方のユーザー名として電子メールアドレスを使用することを意味します。

ユーザー名とパスワードは、次のステップで作成する/ etc / dovecot/dovecot-usersという名前のファイルに保存されます

userdbセクションは、特定のユーザーのメールの読み取り/書き込み場所をdovecotに指示します。固定ディレクトリ構造を使用しています/var / mail / vhosts /%d /%n

したがって、ユーザー[email protected]のメールは、次のディレクトリから読み取られます-

 /var/mail/vhosts/example.com/someone/ 

ユーザーのメールボックスまたはアカウントを作成する

/ etc / dovecot /内に単純なプレーンテキストファイルを作成し、user:passwordの形式でユーザー名とパスワードを入力します。これが例です

#cat dovecot-users [email protected]:{plain} [email protected]:{MD5-CRYPT} $ 1 $ JdyRMcO6 $ qUwKZT40EVp / oIpVfAEXF1 

このようなdoveadmコマンドを使用してパスワードを生成します。上記のコマンドで返されたパスワードハッシュは、そのままdovecot-usersファイルにコピーする必要があります。

#doveadm pw -s MD5-CRYPT新しいパスワードの入力:新しいパスワードの再入力:{MD5-CRYPT} $ 1 $ JdyRMcO6 $ qUwKZT40EVp / oIpVfAEXF1#

パスワードファイルには、個々のユーザーのメールボックスディレクトリとアクセス許可に関する情報を含めることもできます。 passwdfile形式に関するwikiの記事を確認してください。

dovecotでSSLを有効にする-10-ssl.conf

ファイル/etc/dovecot/conf.d/10-ssl.confを開き、ssl行のコメントを解除して、必須に設定します

#SSL / TLSサポート:はい、いいえ、必須です。 ssl=必須

また、ssl_certとssl_keyが適切なファイルを指していることを確認してください(これはデフォルトです)

 ssl_cert =dovecotログファイルのセットアップデフォルトでは、Dovecotは/ var / log / syslogにログを記録します。これは、すでにログの巨大なウェアハウスであり、そこでの検索が困難になります。きちんとした方法は、dovecotログを追跡しやすい別のファイルに作成することです。構成はファイル/etc/dovecot/conf.d/10-logging.confにあります。ファイルを開き、log_path変数を編集して、/ var / log / dovecot.logに設定します。また、info_log_pathとdebug_log_pathは同じものを使用してログに記録することに注意してください。それぞれ情報とデバッグメッセージ。さらに分離したい場合は、それぞれにログファイルを設定してください。[pre]#エラーメッセージに使用するログファイル。 「syslog」はsyslogにログを記録します。#/ dev/stderrはstderr.log_pathにログを記録します=/var/log/dovecot.log#情報メッセージに使用するログファイル。デフォルトはlog_path。#info_log_path =#デバッグメッセージに使用するログファイル。デフォルトはinfo_log_path。#debug_log_path =

ログローテーションの設定

Dovecotのログファイルを変更する場合は、logrotateを構成して、ログファイルが1つの大きなファイルではなく部分的に作成されるようにする必要があります。

 $ nano /etc/logrotate.d/dovecot 

そして、以下を記入してください

 /var/log/dovecot*.log {missingok notifempty delaycompress sharedscripts postrotate doveadm log reopen endscript} 

詳細については、ロギングに関するdovecotwikiページを確認してください。

Dovecotを再起動

よくできました。すべての構成が完了しました。ここでdovecotを再起動します

 $ sudo service dovecot restart 

テスト

これで、テストする時間のすべての構成が完了しました。 Thunderbirdなどのメールクライアントを使用して、SMTPおよびIMAP接続を構成します。

次に、Gmailなどの他のアカウントにメールを送信してみてください。 Gmailでメールを受信した場合は、返信してみてください。メールがメールクライアントに表示されたら、完了です。 おめでとうございます!

netstatで開いているポートを確認する

netstatコマンドを使用して、サービスが稼働していることを確認します

#netstat -ltnpActiveインターネット接続(サーバーのみ)ProtoRecv-QSend-Qローカルアドレス外部アドレス状態PID/プログラム名tcp00 0.0.0.0:993 0.0.0.0:* LISTEN 28791 / dovecottcp 0 0 0.0.0.0 :995 0.0.0.0:* LISTEN 28791 / dovecottcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 3315 / mysqldtcp 0 0 0.0.0.0:587 0.0.0.0:* LISTEN 16218 / mastertcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 28791 / dovecottcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 28791 / dovecottcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 3337 / nginxtcp 0 00.0.0.0:4650.0。 0.0:* LISTEN 16218 / mastertcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 3252 / sshdtcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 16218 / master 

上記の出力では、dovecotがポート993、995、110、および143を保持していることがわかります
一方、Postfix(マスター)はポート587、465、および25を保持しています

トラブルシューティング

1。 mail.logが空です

Ubuntuサーバーでは、/ var / log/mail.logファイルが完全に空白になる場合があります。これは権限の問題が原因で発生し、次のコマンドで修正できます

#ls -l /var/log/mail.log-rw-r ----- 1 messagebus adm02013年4月26日/var/log/mail.log

ファイルの正しい所有者はsyslogである必要があります。次のコマンドを使用して、正しい所有権を設定します-

 $ sudo chown syslog.adm /var/log/mail.log$ sudo chmod 640 /var/log/mail.log 

これで、mail.logファイルに正しいメッセージが入力され、Postfixサーバーで何が起こっているかを追跡できるようになります。

2。リレーアクセスが拒否されました

メールを送信するときに、postfixログ(/var/log/mail.log)にそのようなエラーメッセージが表示された場合-

 Dec 1 09:57:12 li240-5 postfix / smtpd [25795]:NOQUEUE:拒否:不明からのRCPT [122.163.8.12]:454 4.7.1 <...>:リレーアクセスが拒否されました。 from =<...> to =<...> proto =ESMTP helo =<&#91; 192.168.1.2&#93;> 

smtpd_relay_restrictionsフィールド(/etc/postfix/main.cf)に「permit_sasl_authenticated」がリストされていることを確認して、SASLで認証されたユーザーがpostfixをsmtpサーバーとして使用してメールを送信できるようにします。

 smtpd_relay_restrictions =permit_mynetworks permit_sasl_authenticated defer_unauth_destination 

3。メール受信中にエラーが発生しました

メールの受信時に鳩小屋のログにそのようなエラーメッセージが表示された場合-

 Dec 02 18:32:12 lmtp(4412):致命的:構成の読み取りエラー:無効な設定:postmaster_address設定が指定されていません

/etc/dovecot/conf.d/15-lda.confを編集して、postmaster_addressの値を追加するだけです

#拒否メールを送信するときに使用するアドレス。#デフォルトは[email protected]です。 %dは受信者domain.postmaster_address [email protected]
に展開されます

SPF DNSレコードを作成して、検証を有効にし、スパムを回避します

thunderbirdなどのメールクライアントとpostfixsmtpサーバーを介してGmailアドレスにメールを送信してみてください。そうすると、メールがGmailのスパムフォルダに届くか、完全に拒否される可能性があります。

これを解決するには、送信者ドメインのSPFレコードを設定する必要があります。 postfixサーバーが[email protected]の「fromaddress」でメールを送信する場合、example.comのTXT DNSレコードには、これを示すSPF検証情報が含まれている必要があります。 サーバーは、example.comに代わってメールを送信することを許可されています

実行する必要があるのは、ネームサーバーのゾーンエントリを編集し、以下を含むTXTレコードを追加することだけです

 "v =spf1 mx a -all" 

Linodeのようなほとんどのvpsプロバイダーは、それらのようなDNS設定を編集するためのきちんとしたインターフェースを提供します。詳細については、OpenSPFプロジェクトのWebサイトを確認してください。

この簡単なコマンドでドメインのSPFレコードを確認します-

 $ dig -t TXT example.com 

メモ

上記の例では、ファイルを使用して電子メールアカウントとパスワードを保存しています。これにより、パーソナルサーバーに必要なメールアカウントが少なく、頻繁に変更することがない場合に便利です。

ただし、大規模な場合、多数のユーザーに電子メールを提供し、アカウントを頻繁に作成/削除する場合は、virtual_mailbox_domainsとvirtual_mailbox_mapsをデータベースに保存し、データベースクライアントを使用してレコードをすばやく簡単に変更することをお勧めします。

PostfixとDovecotの両方がMysql/MariaDBをサポートしています。

データベースを使用して他の方法でPostfixとDovecotを設定する方法に関する役立つ記事のリンクについては、下部のリソースを確認してください。

次は何

1. RoundcubeなどのWebベースのメールクライアントをインストールして、ブラウザからサーバーにログインし、メールの読み取り/送信を行うことができます。

2.一部のユーザー(もちろん私のように)は、SMTPおよびポップアカウント情報を追加することにより、メールクライアントとしてGoogleのGmailを使用することを好みます。 Googleは、上記の新しいSMTPサーバー設定を使用してメールをすばやく送信できるようにします。

ただし、Gmailは、Dovecotの認証局(CA)からの実際の証明書を使用するまで、上記で作成したIMAP/POPサーバーからのメールを読み取りません。

CAからのSSL証明書には費用がかかりますが、StartCom StartSSL PKIから無料の証明書を取得してDovecotで使用すると、Gmailでこのサーバーからのメールを読み取ることができます。

3.さらに、ドメインにDKIM(Domainkeys Identified Mail)を設定して、メールの信頼性を強化し、Gmailなどの主要なメールサービスによって正当なものとして扱われるようにする必要があります。

リソース

必要な種類のメールサーバーを取得するために、さまざまな方法でPostfixとDovecotをセットアップおよび構成する方法について、さらに役立つリソースをいくつか紹介します。

Mysqlを使用したPostfixとDovecotの設定に関するLinodeチュートリアル
https://www.linode.com/docs/email/postfix/email-with-postfix-dovecot-and-mysql

main.cfで使用するPostfix設定パラメータのドキュメント
http://www.postfix.org/postconf.5.html

Postfixがサポートおよび使用するさまざまな種類のドメインの説明
https://workaround.org/ispmail/squeeze/postfix-domain-types

Postfixがさまざまな種類の仮想ドメインを処理する方法の詳細
http://www.postfix.org/VIRTUAL_README.html

完全なPostfixドキュメント
http://www.postfix.org/documentation.html


Debian
  1. Debian10にRedisサーバーをインストールして保護する

  2. UbuntuとDebianにNode.jsをインストールする

  3. Ubuntu20.04にPostfixをインストールして設定する方法

  1. Ubuntu 18.04 /Ubuntu16.04およびDebian9にPuppet6.xをインストールする方法

  2. Ubuntu/DebianサーバーにPostfixとDovecotを使用してSpamassassinをインストールする方法

  3. UbuntuまたはDebianのpostfixでメール転送を設定する

  1. Debian9にVNCをインストールして設定する方法

  2. Ubuntu 18.04 /Debian9にNginxをインストールして構成する方法

  3. CentOS8にPostfixメールサーバーをインストールして設定する方法