自宅のMACからメールサーバを構築し、メールを送信する方法 gmail経

苦節1年間。やっとメールサーバを構築することができた。
感激もひとしおである。
こう書いてしまうと、あっさりしているが、本当に感動している。
で、今回の勉強で、うちの市で採用されている、誰もほめている人がおらず、

本当に我々をいらつかせている某教育系企業の作った某グループウェアの変更方法もわかった。
グループウェアは、2MB以上のメールを送れないのが仕様である。
別にこれがいけないといいたいわけではない。
ただ、ファイルサーバに1ファイル20MB以上のデータをアップロードできないのが仕様というのはやめてほしい。
それを常駐している某企業のエンジニアはそのこと自体を知らず、私がそれを指摘すると、
本社に確認するといって、数日後に[20MB以上のデータはアップロードできません。]という文言が追加された。
私はベータテストに参加させられているのか?と思ったりする。
いまから独り言を言おう。そういえばこんなサイトがあったなぁ。

http://www.teacher.ne.jp/welcome/sip/index.html

閑話休題

メールサーバはスパムの踏み台にされると聞いているので、非常に入念に準備をする必要がある。
今回構築したサーバは、SSLに対応しているimapサーバである。

プロバイダが踏み台にされないように、OutBound 25 Port Block 対策なんてしてくれているので、
自宅サーバからメールを送信できないようにされている。2006年かららしいが。

これを無理やりメールを通すためには、申請をする必要があるらしいが、
それ抜きでやるためにgmail経由で587番ポートを利用してホストをリレーさせることによって、
メールを送信するような設定を行った。

ただ問題は、gmail経由でメールを送ることになるので、差出人がgmailのアドレスになってしまい、
私の自宅サーバのアドレスにならないことである。
しかし、たしか差出人のメールアドレスなんていくらでも詐称できたはずなので[実装したこともある。
もちろん犯罪用途ではない。]、後でその方法を思い出そう。

以下、私が参考になったアドレスと、私の設定main.cfの中身を記述しておく。備忘録。

screenshot
moved
screenshot
MacOSXでサーバー稼業 : Mac OS Xをメールサーバーにしよう-SSL接続編-
screenshot
http://mm.apache.jp/pipermail/apache-tech/2002-March/000345.html
screenshot
MacOSXでサーバー稼業 : フォーラム

main.cf環境

queue_directory = /private/var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
mail_owner = postfix
myhostname = ymlabo
mydomain = ddo.jp
myorigin = $myhostname
inet_interfaces = all
unknown_local_recipient_reject_code = 550
mynetworks = 192.168.1.0/24, 127.0.0.0/8
relayhost=[smtp.gmail.com]:587
smtp_sasl_auth_enable=yes
smtp_sasl_password_maps=hash:[ここは、gmailのパスやユーザ名が記入されたデータが入っているフルパスを指定]
smtp_sasl_security_options=noanonymous
smtp_sasl_tls_security_options=noanonymous
smtp_sasl_mechanism_filter=plain
smtp_use_tls=yes
debug_peer_level = 2
debugger_command =
	 PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
	 xxgdb $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail
newaliases_path = /usr/bin/newaliases
mailq_path = /usr/bin/mailq
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix/examples
readme_directory = /usr/share/doc/postfix
mynetworks_style = host
mydomain_fallback = localhost
inet_interfaces=all
mynetworks_style=subnet
message_size_limit=2048000
mydomain=ymlabo.ddo.jp
myhostname=ymlabo.ddo.jp
smtpd_tls_cert_file=[server.crtを作った場所のフルパスを指定]
smtpd_tls_key_file=[server.keyを作ったばしょの フルパスを指定]
smtpd_tls_loglevel=1
smtpd_use_tls=yes
smtpd_tls_session_cache_database=sdbm:/etc/postfix/smtpd_scache
tls_random_source=dev:/dev/urandom
smtpd_sasl_auth_enable=yes
smtpd_use_pw_server=yes
enable_server_options=yes
smtpd_pw_server_security_options=plain,login,cram-md5
smtpd_sasl_security_options=noanonymous,noplaintext
broken_sasl_auth_clients=yes
smtpd_recipient_restrictions=permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
smtpd_sasl_local_domain=$mydomain