web-dev-qa-db-ja.com

ssmtpを取得して、To:フィールドの電子メールアドレスにローカルユーザーをマップする方法

簡単なssmtpセットアップがあります。

コマンドecho test | mail -s "testing" usernameは常にusername@hostnameにメールを送信しようとしますが、常に失敗します。

そのため、ローカルのユーザー名を特定のメールアドレスにマッピングしようとしています。

どうすればいいですか?

/etc/aliasesを試しましたが、

$ Sudo newaliases 
newaliases: Aliases are not used in sSMTP

それから私は試した

$ cat /etc/mail.rc 
alias root root<[email protected]>
alias username username<[email protected]>

しかし、まだ機能していません。何か案は?

7
Cookie

私もssmtpと少し苦労しました。私が最初に学んだことは、エイリアスメカニズムしないプレーンmailプログラムで動作することです。パッケージbsd-mailxmailxを使用する必要があります—理由はわかりません。そのため、設定の変更を開始する前に確認してください。

とにかく、参考として、次のようなssmtp設定があります:

  1. ファイル/etc/ssmtp/ssmtp.conf

    #
    # Config file for sSMTP sendmail
    #
    # The person who gets all mail for userids < 1000
    # Make this empty to disable rewriting.
    [email protected]
    
    # The place where the mail goes. The actual machine name is required no 
    # MX records are consulted. Commonly mailhosts are named mail.domain.com
    mailhub=mymailserver.mymail.domain.com:25
    
    # Where will the mail seem to come from?
    rewriteDomain=mymail.domain.com
    
    # The full hostname
    hostname=myhostname.mymail.domain.com
    # Use SSL/TLS before starting negotiation 
    UseTLS=No
    #UseSTARTTLS=Yes
    #
    # Are users allowed to set their own From: address?
    # YES - Allow the user to specify their own From: address
    # NO - Use the system generated From: address
    FromLineOverride=NO
    
  2. ファイル/etc/ssmtp/revaliases/

    # sSMTP aliases
    # 
    # Format:   local_account:outgoing_address:mailhub
    #
    # Example: root:[email protected]:mailhub.your.domain[:port]
    # where [:port] is an optional port number that defaults to 25.
    #
    root:[email protected]
    romano:[email protected]
    postmaster:[email protected]
    

そして今では動作します:

[romano:~] % mailx -v root
Subject: test
test
.
Cc: 
[<-] 220 mymailserver.mymail.domain.com ESMTP my mail server
[->] HELO myhostname.mymail.domain.com
[<-] 250 mymailserver.mymail.domain.com
[->] MAIL FROM:<[email protected]>
[<-] 250 2.1.0 Ok
[->] RCPT TO:<[email protected]>
[<-] 250 2.1.5 Ok
[->] DATA
[<-] 354 End data with <CR><LF>.<CR><LF>
[->] Received: by myhostname.mymail.domain.com (sSMTP sendmail emulation); Fri, 03 Jul 2015 13:25:52 +0200
[->] From: "Romano Giannetti" <[email protected]>
[->] Date: Fri, 03 Jul 2015 13:25:52 +0200
[->] To: root
[->] Subject: test
[->] 
[->] test
[->] .
[<-] 250 2.0.0 Ok: queued as BF1CB3BC050
[->] QUIT
[<-] 221 2.0.0 Bye

ここでドメイン、ホスト名などがプライバシーのためにスクランブルされていることに注意してください(タイプミスがあります)

12
Rmano