差分

提供: fukudat.net
ナビゲーションに移動検索に移動
2,902 バイト追加 、 2021年6月23日 (水) 19:20
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain, fukudat.com# <- ここに宛先ホスト/ドメインを並べる
local_recipient_maps = unix:passwd.byname $alias_maps
alias_maps = hash:/etc/aliases
smtpd_sasl_security_options = noanonymous
smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject
smtpd_relay_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,defer_unauth_destinationreject
smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/ssl/certs/postfix.fukudat.net.crt # SSL Certificate
smtpd_tls_key_file = /etc/ssl/private/fukudat.net.key # SSL Private Key
</pre>
これで fukudat.net と fukudat.com 両方のメールをさばく。この設定だと、ユーザーは共通になってしまう。両方のメールをさばく。この設定だと、ユーザーは共通になる(それが今回の目的なのでこれで良い)。
ユーザをちゃんと分けたい場合は、[http://www.postfix-jp.info/trans-2.3/jhtml/VIRTUAL_README.html virtual domain] の設定を頑張る。
同じディレクトリの master.cf を編集して以下のような変更を加える。
<pre>
smtp inet n - y - - smtpd # これで smtp port 25 が開くsubmission inet n - y - - smtpd# これで submission port 587 が開く
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
smtps inet n - y - - smtpd# これで smtps port 465 が開く
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
</pre>
ただしfukudatはユーザ名、1000はUID、/home/fukudatはホームアドレス。
 
=== メールの最大サイズの変更 ===
postfix が受け付けるメールの最大サイズは、デフォルトで 10MB。これは、添付ファイルを含めた大きさ。
今時の画像付きのメールは大きいので、これを拡大しておかないと、メールがエラーで弾かれてしまう。
 
main.cf を編集して、以下の行を加える。(これは 30MB の例)
 
<pre>
message_size_limit = 31457280
</pre>
 
その後、リロード
 
<pre>
$ sudo service postfix reload
</pre>
 
== Alias設定 ==
/etc/aliasesにaliasを記述
<pre>
mailer-daemon: postmaster
postmaster: root
gm10: fukudat
...
</pre>
 
変更したら、次のコマンドで更新。
<pre>
$ sudo newaliases
</pre>
 
== 転送設定 ==
最後に、実際にメールを読むサーバーに転送する設定を、~/.forward に書く。
<pre>
"| /home/fukudat/bin/mail-saver.pl"
xxxxxx@gmail.com
</pre>
 
/home/fukudat/bin/mail-server.pl は標準入力から入力されるテキストをメールボックスファイルに追加していくスクリプト。例えば、こんな感じ。
<pre>
#!/usr/bin/perl
use strict;
use File::Basename;
my $mailfile = "$ENV{'HOME'}/mail/mbox";
binmode(STDIN, ":utf8");
open(my $out, ">>:utf8", $mailfile) || die "$mailfile: $!";
while (<>) {
print $out $_;
}
print $out "\n";
close($out);
1;
</pre>
 
== Commands ==
 
=== Mail queue のチェック ===
<pre>
$ mailq
</pre>
 
=== Mail queue からメールを読む ===
<pre>
$ sudo postcat -q QUEUE_ID | less
</pre>
 
=== Mail queue からの削除 ===
<pre>
$ sudo postsuper -d QUEUE_ID
$ sudo postsuper -d ALL # 全削除
</pre>
 
=== Mail queue の flush ===
<pre>
$ sudo postfix flush
</pre>
 
== SSL Certificate の設定 ==
証明書の入手は [[SSL Certificate|SSL証明書の更新]]を参照。
安さで [https://www.ssl-store.jp/system/service.php/ SSLストア] を利用。
 
/etc/postfix/main.cf に以下の行を追加。
<pre>
smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/ssl/certs/postfix.fukudat.net.crt
smtpd_tls_key_file = /etc/ssl/private/fukudat.net.key
</pre>
ここで、postfix.fukudat.net.crt は、fukudat.net の証明書と、 中間CA証明書を連結したファイル。改行コードに注意する。
 
== DNSの設定 ==
プロバイダ or name.com で自分のドメインのMXレコードを MTA に変更。
== 参考文献 ==
* [https://jsapachehtml.hatenablog.com/entry/2014/01/26/184604 ubuntuでSMTPサーバの構築(SMTP-AUTHの設定)]
* [https://centossrv.com/postfix.shtml メールサーバー構築(Postfix+Dovecot)]
* [http://www.wheel.gr.jp/~dai/software/postfix/config.html Postfixにおける迷惑メール対策のための設定]
* [http://www.postfix-jp.info/trans-2.3/jhtml/VIRTUAL_README.html Postfix バーチャルドメインホスティング Howto]
== 脚注 ==

案内メニュー