iT邦幫忙

0

Mutt+Msmtp發信的問題

最近轉換主機後用mutt+msmtp的方式寄信有問題,先前都用root在發信都正常所以就沒有測用一般user可不可以發,現在要用一般user來發信才發現不能發,因為用root還是可以發信,所以我後端的relay server應該沒有設錯,可是我在user的home directory 也有設".muttrc"但是就是不能寄,我的OS是redhat 5.8 mutt版本是1.4.2.2i 跟版本有關嗎??

看更多先前的討論...收起先前的討論...
先切割問題。單獨測試一般使用者能否順利用 msmtp:
寫個 test.mail
To: <username>@domain.com
From: username@gmail.com
Subject: A test

Yadda, yadda, yadda.
然後執行:
$ cat test.mail | msmtp -a default <username>@domain.com

如果不能成功,就應是msmtp的問題;若能成功,就可能是mutt的問題。
可參考 msmtp - ArchWiki 裡的步驟。
sbvini iT邦新手 5 級 ‧ 2014-06-06 09:12:25 檢舉
大師依照您的指點,我可以發信成功所以應該是mutt的問題,可是mutt是系統裝好後就有的,所以我不知道mutt的問題在哪裡?不果我有用類似的方式測一下用:
>mutt <username>@domain.com < test.mail 結果出現:
error in /home/user/.muttrc, line 1: set: unknow command
source: errors in /home/user/.muttrc
error sending message, child exited 127 (Exec error.).
could not send the message.
可是.muttcr 的第一行就只有set sendmail="/usr/local/msmtp/bin/msmtp"
我看過root的.muttrc 的第一行也是 set sendmail="/usr/local/msmtp/bin/msmtp"
所以我就悶了????
你試試
file ~/.muttrc
看是什麼結果?
我自己在一台沒 mailserver 下安裝 msmtp, 依照ArchWiki的步驟設定,
就只有依 Quick Start 下的第一區塊 ~/.msmtprc 加這個檔案。
單用 msmtp 可以寄從 gmail 沒問題。
安裝 mutt 在 .muttrc 只有這一行
set sendmail="/usr/bin/msmtp"
也可順利寄出。
另外我的 /etc/Muttrc 跟原來不一樣的地方是有設 hostname。
$ diff Muttrc Muttrc.orig 
35c35
< set hostname=xxx.xxx.edu.tw
---
> # set hostname=cs.hmc.edu

不曉得你原來的 /etc/Muttrc 是否有變動過?
sbvini iT邦新手 5 級 ‧ 2014-06-07 16:20:49 檢舉
你好!!我已經解決了!!已經可以在非root的usr寄信了!!
我的處理過程如下:
因為我是在VMWare下的一個guest host,所以我先找個時間export出來當測試機,然後
rpm -e mutt (把舊版1.4.x的拿掉),我有下載 mutt的1.5.18然後就給他下 ./configuration >> make >> make install 然後確認版本(mutt -v)後確定是1.5.18,rebootc後再測試也是一樣,後來想乾脆.muttrc 重新再寫一次,然後就把舊的砍了,從root的.muttrc 複製一份到user的home然後改一下set from=user@xxx.com 在chown後就可以了,後來也在正式機上用同樣的方式直接砍.muttrc 再從root下copy 一份後修改set from and change owner後也可以了,所以不是版本的問題,應該是.muttrc有問題。
我事後又把我export出來的vm 再到一次確認一下user下的.muttrc的第一行,確實是跟root的完全一樣,只有set from=user@xxxx.com這一行不一樣,但是就是不能寄,真悶!!還好有把問題處理掉,謝謝您的指點,不然我可能會從msmtp去找問題,方向就錯了謝謝您!!

1 個回答

0
逮丸逮丸
iT邦大師 1 級 ‧ 2014-06-09 08:18:34
最佳解答

參閱討論裡的推測過程。

我要發表回答

立即登入回答