1. 程式人生 > >CentOS下配置sendmail外部郵箱

CentOS下配置sendmail外部郵箱

這裡寫圖片描述

Sendmail是linux/unix下廣泛被使用的一款郵件伺服器,這篇文章將會介紹如何在centos7上安裝和設定郵箱以便能夠正常傳送郵件,由於本地郵箱會被大部分郵件伺服器認定為垃圾郵件甚至直接攔截,本文以163郵箱為例介紹一下如何使用以及一些常見的問題。

安裝

專案 說明 安裝命令
sendmail sendmail伺服器 yum install sendmail
mailx 郵件傳送服務 yum install mailx

安裝結果確認

[root@angular ~]# rpm -qa |egrep 'sendmail|mailx'
sendmail-8.14.7-5.el7.x86_64 mailx-12.5-16.el7.x86_64 [root@angular ~]#

郵件設定

設定/etc/hosts

由於shendmail會從/etc/hosts中確認domain name和host name,請將/etc/hosts中的配置資訊加上,比如:

[root@angular ~]# grep angular /etc/hosts
192.168.163.151 angular.com angular
[root@angular ~]# 

常見問題:
此處如不設定,啟動sendmail服務時會提示如下問題:

angular sendmail[44298
]: My unqualified host name (angular) unknown; sleeping for retry angular sendmail[44298]: unable to qualify my own domain name (angular) -- using short name

注意hostname的修改往往也會是sendmail不能正常動作的元凶,所以對機器的設定無比考慮到影響。

設定/etc/sysconfig/network

因為本文需要通過外部163的信箱進行傳送,可以做如下設定

[root@angular ~]# cat /etc/sysconfig/network
# Created by anaconda hostname mail.163.com [root@angular ~]#

常見問題:
此處如不設定,傳送mail時一般會提示如下問題:

smtp-server: 535 Error: authentication failed

設定/etc/mail.rc

將/etc/mail.rc中新增如下資訊, 使用smtp方式進行驗證。

# Set from address and smtp domain
set from[email protected]163.com smtp=smtp.163.com

# Set Smtp authentication 
set smtp-auth-user[email protected]163.com smtp-auth-password=xxxx smtp-auth=login

常見問題:
此處出現的可能性問題較多,比如郵箱寫錯,空格問題,密碼寫錯等等, 比如密碼寫錯時會提示如下資訊:

smtp-server: 535 Error: authentication failed

注意:密碼修改該之後,一般不用重啟sendmail服務即可起作用,所以修改的時候注意影響。
另外請注意各種郵箱不同一般設定也會有所不同,比如上述密碼,163的郵箱不是登陸密碼,而是授權碼,需要在登陸郵箱在伺服器側設定,傳送服務很多時候根據郵箱的不同設定方法有所不同,千萬注意。

驗證

傳送郵件

使用下面簡單的mail命令即可傳送一封信給[email protected]

專案 說明
From mail.rc中設定的郵箱
To [email protected]
Title Greeting from liumiaocn
Message Hello, this is a test mail
[root@angular ~]# echo "Hello, this is a test mail" |mail -s "Greeting from liumiaocn" liumiaocn@outlook.com
[root@angular ~]# 

接收確認

這裡寫圖片描述

問題追蹤

日誌檔案

碰到問題,建議確認日誌檔案的資訊

日誌檔案:/var/log/maillog

sendmail的debug模式

使用sendmail的debug模式,可以更好的逐步排查問題:

使用方式:sendmail -bt -d

[[email protected] ~]# sendmail -bt -d
Version 8.14.7
 Compiled with: DNSMAP HESIOD HES_GETMAILHOST LDAPMAP LOG MAP_REGEX
        MATCHGECOS MILTER MIME7TO8 MIME8TO7 NAMED_BIND NETINET NETINET6
        NETUNIX NEWDB NIS PIPELINING SASLv2 SCANF SOCKETMAP STARTTLS
        TCPWRAPPERS USERDB USE_LDAP_INIT
getla(): 0.09
setoption SevenBitInput (7)=False
setoption AliasWait (a)=10
setoption AliasFile (A)=/etc/aliases
setoption MinFreeBlocks (b)=100
setoption BlankSub (B)=.
setoption HoldExpensive (c)=False
setoption DeliveryMode (d)=background
setoption TempFileMode (F)=0600
setoption HelpFile (H)=/etc/mail/helpfile
setoption SendMimeErrors (j)=True
setoption ForwardPath (J)= 0x81 z/.forward. 0x81 w: 0x81 z/.forward
setoption ConnectionCacheSize (k)=2
setoption ConnectionCacheTimeout (K)=5m
setoption UseErrorsTo (l)=False
setoption LogLevel (L)=9
setoption CheckAliases (n)=False
setoption OldStyleHeaders (o)=True
setoption DaemonPortOptions (O)=Port=smtp,Addr=127.0.0.1, Name=MTA
Daemon MTA flags: 
setoption PrivacyOptions (p)=authwarnings,novrfy,noexpn,restrictqrun
setoption QueueDirectory (Q)=/var/spool/mqueue
setoption Timeout (r).connect=1m
setoption Timeout (r).ident=0
setoption Timeout (r).queuereturn=5d
setoption Timeout (r).queuewarn=4h
setoption SuperSafe (s)=True
setoption StatusFile (S)=/var/log/mail/statistics
setoption DefaultUser (u)=8:12
setoption UserDatabaseSpec (U)=/etc/mail/userdb.db
setoption TryNullMXList (w)=True
setoption SmtpGreetingMessage (0x90)= 0x81 j Sendmail  0x81 v/ 0x81 Z;  0x81 b
setoption UnixFromLine (0x91)=From  0x81 g  0x81 d
setoption OperatorChars (0x92)=.:%@!^/[]+
setoption DontProbeInterfaces (0xa1)=True
setoption AuthOptions (0xbd)=A
drop_privileges(1): Real[UG]id=0:0, get[ug]id=0:0, gete[ug]id=0:51, RunAs[UG]id=0:0
getauthinfo: [email protected]

============ SYSTEM IDENTITY (after readcf) ============
      (short domain name) $w = angular
  (canonical domain name) $j = angular.com
         (subdomain name) $m = com
              (node name) $k = angular
========================================================

setoption HoldExpensive (c)=F
setoption DeliveryMode (d)=
assign_queueid: assigned id vAGMmR3I050207, e=0x7f6a6a982aa0
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
>

總結

這篇文章介紹了sendmail的安裝和設定方法,以及常見的問題和解決方法。

相關推薦

CentOS配置sendmail外部郵箱

Sendmail是linux/unix下廣泛被使用的一款郵件伺服器,這篇文章將會介紹如何在centos7上安裝和設定郵箱以便能夠正常傳送郵件,由於本地郵箱會被大部分郵件伺服器認定為垃圾郵件甚至直接攔截,本文以163郵箱為例介紹一下如何使用以及一些常見的問題。

centOS配置JDK

配置jdk 安裝jdk 1、到oracle.com或者到搜索引擎去搜索一下應該很多地方都可以下載到相應的jdk版本2、我的下載了JDK1.7.0_793、解壓:tar -zxvf jdk-7u79-linux-x64.tar.gz -C /usr/local4、配置系統變量。在/etc/profile

CentOS配置MySQL允許root用戶遠程登錄

支持 否則 分割 查看 下載文件 個數 sel roo wget 1.常用命令: 安裝上傳下載文件命令yum install lrzsz安裝webget工具yum -y install wget ------------------------------------分割線

centos配置java環境變量

entos 配置環境 命令 file jvm ive cli http 引用 一. 需要配置的環境變量1. PATH環境變量。作用是指定命令搜索路徑,在shell下面執行命令時,它會到PATH變量所指定的路徑中查找看是否能找到相應的命令程序。我們需要把 jdk安裝目錄下的

centos配置LNMP環境(源碼安裝)

hid strong 配置 依賴 post png div libjpeg curses 準備工作,安裝依賴庫 yum -y install gcc automake autoconf libtool make gcc-c++ glibc libxslt-devel l

centos 配置ip/網絡問題排查

mct 但是 關機 ace clas gif png 虛擬網絡 fig **在我們的虛擬機中配置一個IP,有利於我們在遠程的操控我們的虛擬機!**我們在安裝系統的時候指定了我們的網絡是NAT模式,它不受限於我們的網絡環境,只要我們的物理機能夠上網,那麽我們的虛擬機也就可以

centos配置gitosis服務器遇到的困難

修改 TP alt image roo 初始 根據 權限修改 配置 這篇博客主要講的是在centos下配置gitosis遇到的問題。 1、困難1:gitosis沒有安裝成功,沒有出現finish的字樣,但是沒有發現,導致在用公鑰初始化配置倉庫時,出現了找不到gitosis的

CentOS配置redis允許遠程連接

ima lan dong lease iptable lld 報錯 top only ? 版權聲明:本文為博主原創文章,轉載請註明出處 1. 目的   因為想要學習redis,因此在虛擬機中安裝了redis,為了實現在物理機可以訪問redis,弄了好久;因此記錄下來,以免忘

Centos 配置 Apache 伺服器

1、修改yum安裝源為阿里安裝源 ①複製原有的原始檔 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bakup ②通過wget獲取阿里雲的原始檔 wget -O /etc/yum

Centos配置網路以及域名解析

修改ip地址 編輯 /etc/sysconfig/network-scripts/ifcfg-XX(有的電腦可能有兩個網絡卡,這裡有可能多個檔案) TYPE=Ethernet BOOTPROTO=static 靜態ip DEFROUTE=yes IPV4_FAILURE_FATAL

centos配置nginx遇到的一些基本的坑

  作為一個用.net的渣渣,常年混跡在window平臺下,對Linux啥都不懂。隨著.net core開源、跨平臺後,也開始學習下linux。   在Desktop/Webs下放了一個index.html的靜態頁面,想著用nginx配置下路徑。開啟配置一看,這不就是修改下路徑嘛,挺簡單的。 結果修改後重

Centos 配置mysql

安裝apache yum -y install httpd 安裝php yum -y install php 修改Apache配置改為下面 $ vim /etc/httpd/conf/httpd.conf <IfModu

Centos配置GO開發環境

1、安裝VSCode編輯器 Visual Studio Code 是一個輕量級但功能強大的原始碼編輯器,可在 Windows,macOS 和 Linux 桌面上執行。它內建了對JavaScript,TypeScript和Node.js的支援,併為其他語言(如C ++,C#,

centos配置好yaf擴充套件後如何自動生成yaf框架

安裝好擴充套件後可以輸出phpinfo(確認一下);確認好安裝了yaf擴充套件後:開始生成yaf框架(鳥哥的yaf文件是建議大家手動生目錄):下載好後解壓  yaf-master.zip  進入到yaf-master/tools/cg目錄下:執行 ./yaf_cg    te

CentOS配置SS5(SOCKS5)代理伺服器,絕對可行

本文內容將詳細說明如何向自己的伺服器新增代理功能(SOCKS5)。 嫌囉嗦的直接拉到最下,有乾貨。 環境: 伺服器主機 :騰訊雲 1核 1GB 1Mbps 伺服器作業系統:CentOS 7.2 64位 客戶端作業系統:各種 Windows ~ 可能用到的軟體: pu

Centos配置tomcat7的https證書

近期搞定了HTTPS配置,特此記錄。 1、把下載的檔案拷貝到cert資料夾,然後放在tomcat根目錄下(與conf同一級目錄)。2、配置conf下的server.xml,修改下面3個節點,如下: <Connector port="80" protocol="HTTP/1.1" connect

Linux (CentOS)配置多個Tomcat同時執行

首先在CentOS下安裝好JDK,下載好Tomcat,我的是apache-tomcat-7.0.50,不用專門配置CATALINA_2_BASE,CATALINA_2_HOME等環境變數。 把tomcat解壓到linux兩個不同的資料夾下,然後把各自conf下的server

centos配置git&gitolite

有兩篇文章介紹如何配置,怕忘記留做記錄 http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770360579bc4b458f044ce7afe

jetty9 centos配置

jetty官網:http://www.eclipse.org/jetty/ 具體配置流程如下1, 2: 1. Nginx 新增監聽域名和路由埠.     #當前應用的可用流(可無限新增)      upstream pisaTbt0 {          server  1

CentOS配置webrtc伺服器

————————————————————————————————————————————————原理介紹:<以下文字copy自上文>房間伺服器房間伺服器是用來建立和管理通話會話的狀態維護,是雙方通話還是多方通話,加入與離開房間等等,我們暫時沿用Google部署在G