Linux

如何更改郵箱?

  • February 27, 2018

我的虛擬機有問題。

我在 OpenVZ 中使用了相同的模板(Debian 7min),但無論出於何種原因,這兩者都使用了不同的 mailx。我有一個用於發送狀態郵件的小腳本:

   mailx -v -s "$subject" -S smtp=$smtphost -S from="$mailfrom" -S smtp-auth-user=$smtpuser \
-S smtp-auth-password=$smtppwd $emailto </dev/null

它可以在一台伺服器上找到,另一台給我一條錯誤消息“未知命令-S”。

好的,我知道 mailx 只是一個虛擬包,我通常安裝 bsd-mailx,但兩個伺服器顯示它們的設置相同

ls -al /etc/alternatives/ma*

lrwxrwxrwx 1 root root 18 Feb  9 20:07 /etc/alternatives/mailx -> /usr/bin/bsd-mailx

dpkg –get-selections | grep 郵件

bsd-mailx                   install
fetchmail                   install
procmail                    install
rmail                       install
sendmail                    install
sendmail-base                   install
sendmail-bin                    install
sendmail-cf                 install
sendmail-doc                    install

問題是,mailx 從不支持任何類型的版本資訊,所以 mailx –help 或 –version 只是說“未知選項” - 所以我什至無法弄清楚它是什麼“版本”的 mailx

這是伺服器 1 的輸出

mailx: illegal option -- -
Usage: mailx -eiIUdEFntBDNHRV~ -T FILE -u USER -h hops -r address -s SUBJECT -a FILE -q FILE -f FILE -A ACCOUNT -b USERS -c USERS -S OPTION users

這是伺服器 2 的輸出

mailx: invalid option -- '-'
usage: mailx [-dEIinv] [-a header] [-b bcc-addr] [-c cc-addr] [-s subject] to-addr ...
            [-- sendmail-options ...]
      mailx [-dEIiNnv] -f [name]
      mailx [-dEIiNnv] [-u user]

顯然不是同一的。有什麼幫助我如何將mailx從伺服器1“獲取”到伺服器2?我沒主意了。

所以在 server1 你有 heilroom-mailx 即/etc/alternatives/mailx -> /usr/bin/heirloom-mailx,第二個伺服器使用bsd-mailx.

apt-get install heirloom-mailx如果您想從 server1 獲得 mailx,請在兩台伺服器上執行此操作。

安裝後,伺服器應該自動使用 heirloom 作為 mailx,如果不這樣做:

sudo update-alternatives --set mailx /usr/bin/heirloom-mailx

要擴展來自@darek 和@nadir-latif 的答案/usr/bin/mail也是一個替代方案,並且是替代方案的奴隸mailx,從檢查 Wheezy/Jessie 安裝開始,heirloom-mailx優先級為 60,因此安裝使用

sudo update-alternatives --install /usr/bin/mailx mailx /usr/bin/heirloom-mailx \
60 --slave /usr/bin/mail mail /usr/bin/heirloom-mailx \
--slave /usr/share/man/man1/mail.1.gz mail.1.gz \
/usr/share/man/man1/heirloom-mailx.1.gz --slave \
/usr/share/man/man1/mailx.1.gz mailx.1.gz \
/usr/share/man/man1/heirloom-mailx.1.gz

這將允許設置 themailmailxAlternatives。在 Stretch 的mail.mailutils優先級為 30 並且來自手冊頁

當連結組處於自動模式時,組成員指向的備選方案將是具有最高優先級的備選方案。

因此,如果您使用的優先級60並將其設置為自動,則無需顯式設置替代方案,否則@darek 聲明使用

sudo update-alternatives --set mailx /usr/bin/heirloom-mailx

引用自:https://serverfault.com/questions/666334