「SSMTP」の版間の差分
(同期) |
|||
34行目: | 34行目: | ||
</nowiki>}} |
</nowiki>}} |
||
+ | {{note|上記の設定は Gmail の例であり、適宜設定は変更してください。上手く動作しないときは man ページ {{ic|man 8 ssmtp}} を読みましょう。}} |
||
− | {{note|Take note, that the shown configuration is an example for Gmail, You may have to use other settings. If it is not working as expected read the man page {{ic|man 8 ssmtp}}, please.}} |
||
ローカルのユーザー名のエイリアスを作成 (任意): |
ローカルのユーザー名のエイリアスを作成 (任意): |
||
49行目: | 49行目: | ||
{{hc|$ grep myhostname /etc/passwd|root:x:0:0:root@myhostname,,,:/root:/bin/bash |
{{hc|$ grep myhostname /etc/passwd|root:x:0:0:root@myhostname,,,:/root:/bin/bash |
||
mainuser:x:1000:1000:mainuser@myhostname,,,:/home/mainuser:/bin/bash}} |
mainuser:x:1000:1000:mainuser@myhostname,,,:/home/mainuser:/bin/bash}} |
||
+ | |||
+ | ===アプリパスワードを使う=== |
||
+ | Gmail アカウントで2段階認証を使用している場合、ユニークな [https://support.google.com/mail/answer/185833 アプリパスワード] を生成して {{ic|ssmtp.conf}} に記述する必要があります。[https://security.google.com/settings/security/apppasswords アプリパスワード] のページでパスワードを生成できます。生成された16文字のパスワードは {{ic|AuthPass}} 行に記入してください。パスワードに含まれる空白は無視されます。 |
||
==セキュリティ== |
==セキュリティ== |
||
+ | メールパスワードは平文で {{ic|/etc/ssmtp/ssmtp.conf}} に保存されるため、このファイルを保護するべきです。{{ic|ssmtp.conf}} を保護することで: |
||
− | Because your email password is stored as cleartext in {{ic|/etc/ssmtp/ssmtp.conf}}, it is important to secure the file. |
||
+ | *システムの管理者権限がなければ、ファイルを読み込んでメールパスワードを見ることができなくなります。メールを送信することは変わらずに可能です。 |
||
− | Securing ssmtp.conf will ensure that: |
||
+ | *たとえユーザーアカウントがハッキングされたとしても、root アカウントさえ死守すれば、ハッカーは {{ic|ssmtp.conf}} ファイルを読みことができず、メールのパスワードもわかりません。 |
||
− | *if any users have unprivileged access to your system, they cannot read the file and see your email password, while still letting them send out email |
||
− | *if your user account is ever compromised, the hacker cannot read the {{ic|ssmtp.conf}} file, and therefore your email password, unless he gains access to the root account as well |
||
− | + | {{ic|ssmtp.conf}} を保護するには、以下を実行: |
|
{{ic|ssmtp}} グループを作成: |
{{ic|ssmtp}} グループを作成: |
||
64行目: | 66行目: | ||
# chown :ssmtp /etc/ssmtp/ssmtp.conf |
# chown :ssmtp /etc/ssmtp/ssmtp.conf |
||
+ | ''ssmtp'' バイナリのグループ所有者を新しく作った {{ic|ssmtp}} グループに設定: |
||
− | Set the group owner of the ''ssmtp'' binary to the new {{ic|ssmtp}} group: |
||
# chown :ssmtp /usr/bin/ssmtp |
# chown :ssmtp /usr/bin/ssmtp |
||
− | + | root と {{ic|ssmtp}} グループだけが {{ic|ssmtp.conf}} にアクセスできるように設定: |
|
# chmod 640 /etc/ssmtp/ssmtp.conf |
# chmod 640 /etc/ssmtp/ssmtp.conf |
||
+ | ''ssmtp'' バイナリの SGID ビットを設定: |
||
− | Set the SGID bit on the ''ssmtp'' binary. |
||
# chmod g+s /usr/bin/ssmtp |
# chmod g+s /usr/bin/ssmtp |
||
+ | これで、誰も {{ic|ssmtp.conf}} ファイルを読むことはできなくなりました。 |
||
− | Now, all the regular users can still send email using the terminal, but none can read the {{ic|ssmtp.conf}} file. |
||
==メールの送信== |
==メールの送信== |
||
82行目: | 84行目: | ||
$ mail username@somedomain.com |
$ mail username@somedomain.com |
||
+ | {{Note|mail コマンドをインタラクティブに使う場合、題名を入力してからエンターを押すことで本文を入力できます。メッセージが作成できたら空行で {{ic|Ctrl}}+{{ic|d}} を押してください。自動的に送信されます。}} |
||
− | {{Note|When using mail interactively, after typing the Subject and hitting enter, you type the body. |
||
− | Hit {{ic|Ctrl}}+{{ic|d}} on a blank line to end your message and automatically send it out.}} |
||
+ | テキストファイルを作成して ''ssmtp'' や''mail'' で送信するという方法もあります: |
||
− | An alternate method for sending emails is to create a text file and send it with ''ssmtp'' or ''mail'' |
||
{{hc|test-mail.txt|To:username@somedomain.com |
{{hc|test-mail.txt|To:username@somedomain.com |
||
From:youraccount@gmail.com |
From:youraccount@gmail.com |
2016年2月26日 (金) 12:03時点における版
SSMTP はローカルコンピュータから設定したメールホスト (メールハブ) にメールを配達するプログラムです。(sendmail などのような機能豊富なメールサーバーと違って) メールサーバーではないのでメールを受信したり、エイリアスを展開したりキューを管理することはできません。SSMTP は主としてマシンから (システムアラートのような) 自動メールを外部のメールアドレスに飛ばすのに使われます。
インストール
Gmail メールサーバーに転送
SSMTP を使うには、設定ファイル (/etc/ssmtp/ssmtp.conf
) を編集してアカウント設定を入力する必要があります:
# The user that gets all the mails (UID < 1000, usually the admin) root=username@gmail.com # The mail server (where the mail is sent to), both port 465 or 587 should be acceptable # See also http://mail.google.com/support/bin/answer.py?answer=78799 mailhub=smtp.gmail.com:587 # The address where the mail appears to come from for user authentication. rewriteDomain=gmail.com # The full hostname hostname=localhost # Use SSL/TLS before starting negotiation UseTLS=Yes UseSTARTTLS=Yes # Username/Password AuthUser=username AuthPass=password # Email 'From header's can override the default domain? FromLineOverride=yes
ローカルのユーザー名のエイリアスを作成 (任意):
/etc/ssmtp/revaliases
root:username@gmail.com:smtp.gmail.com:587 mainuser:username@gmail.com:smtp.gmail.com:587
Gmail サーバーに正しくメールを転送できているかテストするには:
$ echo test | mail -v -s "testing ssmtp setup" tousername@somedomain.com
'root' の代わりに 'root at myhost' からメールを受信するには /etc/passwd
を編集して 'From' テキストを変更します:
# chfn -f 'root at myhost' root # chfn -f 'mainuser at myhost' mainuser
これで /etc/passwd
が以下のように変更されます:
$ grep myhostname /etc/passwd
root:x:0:0:root@myhostname,,,:/root:/bin/bash mainuser:x:1000:1000:mainuser@myhostname,,,:/home/mainuser:/bin/bash
アプリパスワードを使う
Gmail アカウントで2段階認証を使用している場合、ユニークな アプリパスワード を生成して ssmtp.conf
に記述する必要があります。アプリパスワード のページでパスワードを生成できます。生成された16文字のパスワードは AuthPass
行に記入してください。パスワードに含まれる空白は無視されます。
セキュリティ
メールパスワードは平文で /etc/ssmtp/ssmtp.conf
に保存されるため、このファイルを保護するべきです。ssmtp.conf
を保護することで:
- システムの管理者権限がなければ、ファイルを読み込んでメールパスワードを見ることができなくなります。メールを送信することは変わらずに可能です。
- たとえユーザーアカウントがハッキングされたとしても、root アカウントさえ死守すれば、ハッカーは
ssmtp.conf
ファイルを読みことができず、メールのパスワードもわかりません。
ssmtp.conf
を保護するには、以下を実行:
ssmtp
グループを作成:
# groupadd ssmtp
ssmtp.conf
のグループ所有者を新しく作った ssmtp
グループに設定:
# chown :ssmtp /etc/ssmtp/ssmtp.conf
ssmtp バイナリのグループ所有者を新しく作った ssmtp
グループに設定:
# chown :ssmtp /usr/bin/ssmtp
root と ssmtp
グループだけが ssmtp.conf
にアクセスできるように設定:
# chmod 640 /etc/ssmtp/ssmtp.conf
ssmtp バイナリの SGID ビットを設定:
# chmod g+s /usr/bin/ssmtp
これで、誰も ssmtp.conf
ファイルを読むことはできなくなりました。
メールの送信
ターミナルからメールを送信するには、以下を実行:
$ echo "this is the body" | mail -s "Subject" username@somedomain.com
もしくは次を実行することでインタラクティブに送信できます:
$ mail username@somedomain.com
テキストファイルを作成して ssmtp やmail で送信するという方法もあります:
test-mail.txt
To:username@somedomain.com From:youraccount@gmail.com Subject: Test This is a test mail.
test-mail.txt
ファイルを送信:
$ mail username@somedomain.com < test-mail.txt
添付ファイル
添付ファイルを追加する場合、Mutt と Msmtp をインストール・設定して nixcraft を見て下さい。
または、uuencode を使って添付することも可能です:
$ uuencode file.txt file.txt | mail user@domain.com