linuxsendmail郵件
① linux sendmail
詳細的介紹及PDF文檔下載:http://redking.blog.51cto.com/ 需要安裝的軟體包
sendmail.i386
sendmail-cf.i386
sendmail-devel.i386
sendmail-doc.i386
m4
dovecot (pop3服務端)
procmail 配置目錄:/etc/mail
sendmail.mc
sendmail.cf
local-host-names
access 例子:允許其他機器連接過來發送郵件(接受郵件的用戶都是在郵件伺服器上的用戶)
注意:當前的「其他機器」只能是在同一個域或者同一個網段的用戶
# vim /etc/mail/sendmail.mc將 DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl 取消注釋# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
# service sendmail restart 例子:允許本機和其他來自任何地方IP登錄發送郵件,發送的郵件可以是其他域的郵件需要開啟smtp驗證開啟smtp驗證的配置
DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf安裝驗證支持的軟體包# yum install cyrus-sasl* -y重啟相關的服務# service sendmail restart
# service saslauthd restart
# service dovecot restart
② linux怎麼發送郵件
Linux伺服器發送郵件一般都是基於sendmail進行的,sendmail伺服器提供對外的郵件發送功能。
1.安裝sendmail伺服器安裝方法:
#sudo apt-get install sendmail
2.然後通過ps查看是否有sendmail進程,如果存在,則安裝成功:
#ps -ef|grep sendmailroot 1282 1 0 13:39 ? 00:00:00 sendmail: MTA: accepting connections
3.成功安裝sendmail後,就可以向郵件賬戶發送郵件了,編輯如下文件a.sh,通過chmod 更改許可權後執行就可以。
③ linux中sendmail發送郵件成功但收不到郵件
直接用yum安裝,命令:yum
install
sendmail,安裝好了,就開始啟動,命令
:/etc/init.d/sendmail
start
,顯示啟動完成,然後開始測試發郵件,$rs=mail('[email protected]','這個是主題','
這個是內容');var_mp($rs);,輸出結果是true,可查看郵件,卻發現沒收到任何郵件。一開始懷疑是php配置那裡沒
設置好對應的sendmail路徑,改好php.ini配置後,卻發現還是收不到郵件。檢查了sendmail是否已經啟動,命
令:/etc/init.d/sendmail
status,結果發現出現如下錯誤:sendmail已死,但是subsys被鎖。然後網上查了一下,懷
疑是跟postfix沖突了,把postfix幹掉,命令:/etc/init.d/postfix
stop,再重新嘗試發送郵件,結果還是失敗。
糾結啊,到底什麼問題呢,網上搜啊搜。
最後,查看了下管理員的郵件,命令:less
/var/spool/mail/root,有個發現:
打開網易郵箱回饋回來的信息,根據對應的550錯誤碼,發現網易郵箱提示發件人的地址不符合法。
然後我嘗試修改主機名,命令:hostname
[email protected],再重新嘗試發送郵件,功夫不負有心人啊,
注意:有些發出去了可能會在垃圾郵件哦,像qq郵箱針對sendmail做了過濾,有誰知道需要做什麼設置,才可以不被過濾
補充:sendmail發送不了郵件
沒有找到,對它的配置也不熟悉,網上沒有找到方法
運行yast刪除了,重新安裝
linux-qebs:/srv/www/htdocs
#
rpm
-qa
|
grep
sendmail
sendmail-8.14.3-51.5.1.i586
sendmail
-bd
-q12h
vi
/etc/sendmail.cf
修改配置
原來為
Timeout.ident=5s
修改後
Timeout.ident=0s
/etc/init.d/sendmail
status
沒有自動啟動
/etc/init.d/sendmail
restart
sendmail
'aaaa'
[email protected]
④ 怎樣在Linux下架設郵件伺服器Sendmail
一.安裝Sendmail 完全安裝Red Hat Linux 9.0時,Sendmail就會自動內置,版本號為8.12.8-4。如果你不確定Linux是否已經安裝有sendmail,可以輸入以下命令查看: [root@ahpeng root] rpm–qagrep sendmail 如果確定沒有安裝,請在圖形界面下依次選擇單擊「主菜單-系統設置-添加刪除應用程序」,然後在打開的「軟體包管理」窗口裡選中「郵件伺服器」選項,點「更新」後按照提示安裝即可。 另一種辦法是:直接插入Linux第1張安裝光碟,選擇/RedHat/RPMS目錄下的sendmail-8.12.8-4.i386.rpm安裝包,之後運行[root@ahpeng RPMS] # rpm -ivh sendmail-8.12.8-4.i386.rpm即可開始安裝,再用此方法在第3張安裝光碟的同目錄下依次安裝sendmail-cf.8.12.8-4.i386.rpm、sendmail-doc. 8.12.8-4.i386.rpm。 二.啟動Sendmail服務系統 筆者建議使用帶參數的Sendmail命令控制郵件伺服器的運行: [root@ahpeng root]#sendmail -bd –q12h -b:設定Sendmail服務運行於後台。 -d:指定Sendmail以Daemon(守護進程)方式運行。 -q:設定當Sendmail無法成功發送郵件時,就將郵件保存在隊列里,並指定保存時間。上面的12h表示保留12小時。 此外,要檢測Sendmail伺服器是否正常運行,可以使用命令行: [root@ahpeng root]# /etc/rc.d/init.d/sendmail status。 三.配置Sendmail sendmail.cf的配置語法比較難懂,一般資料上都是採用m4宏處理程序來生成所需的sendmail.cf文件(使用m4編譯工具一般不容易出錯,還可避免某些帶有安全漏洞的宏對伺服器造成的破壞)。其配置文件位於/etc/mail/sendmail.cf,在創建的過程中還需要一個模板文件,Linux自帶有一個模板文件,位於/etc/mail/sendmail.mc。故可以直接通過修改sendmail.mc模板來達到定製sendmail.cf文件的目的,而不必去死啃哪些難理解的配置命令。配置步驟為: 第一步:用模板文件sendmail.mc生成sendmail.cf配置文件,並導出到/etc/mail/目錄下,使用命令行:m4 /etc/mail/sendmail.mc >/etc/mail/sendmail.cf 第二步:再用[root@ahpeng root] /etc/rc.d/init.d/sendmail restart命令行重啟sendmail。 至此,郵件服務系統配置完成,已經正常工作。接下來就是創建具體的帳戶了。
⑤ sendmail 在linux 中如何啟動
sendmail的配置文件需要配置正確,由於sendmail的配置十分復雜。通常它的配置文件是sendmail.cf,位於/etc/mail目錄下。由於sendmail.cf的語法深奧難懂,很少有人會直接去修改該文件來對Sendmail伺服器進行配置。一般通過m4宏處理程序來生成所需的sendmail.cf文件。創建的過程中還需要一個模板文件,系統默認在/etc/mail目錄下有一個sendmail.mc模板文件。
可以根據簡單、直觀的sendmail.mc模板來生成sendmail.cf文件,而無需直接編輯sendmail.cf文件。可以直接通過修改sendmail.mc模板來達到定製sendmail.cf文件的目的。這里介紹創建sendmail.cf文件的步驟:
(1)備份原有sendmail.cf文件
在終端命令窗口運行以下命令:
cp /etc/mial/sendmail.cf /etc/mail/sendmail.cf.BAK
(2)生成sendmail.cf文件
根據sendmail.mc模板文件產生sendmail.cf配置文件,並導出到/etc/mail/目錄下:
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
(3)重啟sendmail服務
[root@ahpeng root] /etc/rc.d/init.d/sendmail restart
很明顯在用m4宏編譯工具創建sendmail.cf文件比較方便,而且不容易出錯,更可以避免某些帶有安全漏洞或者過時的宏所造成的破壞。一個sendmail.mc模板的大致內容如下:
divert(-1)dnl
......
include('/usr/share/sendmail-cf/m4/cf.m4')dnl
VERSIONID('setup for Red Hat Linux')dnl
OSTYPE('linux')dnl
......
dnl #
dnl define('SMART_HOST','smtp.your.provider')
dnl #
define('confDEF_USER_ID',''8:12'')dnl
define('confTRUSTED_USER', 'smmsp')dnl
dnl define(′confAUTO_REBUILD′)dnl
......
這里介紹sendmail.mc模板的語法組成:
dnl:用來注釋各項,同時dnl命令還用來標識一個命令的結束。
divert(-1):位於mc模板文件的頂部,目的是讓m4程序輸出時更加精簡一些。
OSTYPE ('OperationSystemType'):定義使用的操作系統類型,顯然這里應該用linux代替OperationSystemType,注意要用一個反引號和一個正引號把對應的操作系統類型括起來。
define:定義一些全局設置,對於Linux系統,設置了OSTYPE之後,可以定義下面的一些全局參數,如果不定義,就使用默認值。這里舉兩個簡單例子:define('ALIAS_FILE','/etc/aliases')
定義別名文件(alia file)的保存路徑,默認是/etc/aliases
define('STATUS_FILE', '/etc/mail/statistics')
sendmail的狀態信息文件。
以上只是sendmai.mc的一些簡單的語法解釋,更多的參數含義及其配置信息可以參見http://www.sendmail.org/m4/tweaking_config.html。
3. 為新用戶開電子郵件賬號
在Linux里為新用戶開設電子郵件賬戶比較簡單,只需在Linux系統里新增一個用戶即可。單擊"主菜單→系統設置→用戶和組群"菜單項,打開"Red Hat用戶管理器"對話框,單擊"添加用戶"按鈕,在出現的"創建新用戶"對話框里指定用戶名、登錄口令即可,如圖3所示。
假設我們添加了一個用戶Peter(密碼為peter),這樣該用戶就有了一個郵件地址[email protected](此處的YourDomain.com用你自己域名代替)。
以上過程也可以在終端命令窗口運行以下命令來實現:
[root@ahpeng root]#adser peter -p peter
其實,它是利用磁碟配額功能來實現的。電子郵件的暫存空間是在/var/spool/mail目錄下,只要通過磁碟配額設定每一個用戶在這個目錄下能使用的最大空間即可。
[root@ahpeng root]#/etc/rc.d/init.d/xinetd reload
設置好以後,就可以在Outlook Express裡面設置好郵件賬號,以後就可以直接利用Sendmail伺服器進行收發郵件了,由於郵件伺服器就在本地區域網,所以速度很快。
⑥ Linux sendmail到底怎麼往外發郵件
我用的是
sendemail
還是比較簡單的
部分參數如下:
-f 表示from,發件人地址
-t 表示to,收件人地址
-s mail伺服器域名
-u 主題
-xu 用戶名(@之前的)
-xp 用戶密碼
-m 純文本信息
-o message-file=/root/.. 發送文件中的內容
-a 發送附件 (-m,-o,-a可以同時使用)
需要注意的是填寫伺服器地址時最好添加上埠號
qq郵箱的埠號就不是默認的埠號
sudo apt-get install sendemail
建議在安裝前先安裝另外兩個包:
libio-socket-ssl-perl libnet-ssleay-perl
⑦ linux下的sendmail如何配置
sendmail的功能強大,配置起來也十分繁瑣。本例僅介紹如何架設小型的區域網電子郵局。
1、設置sendmail 作為守衛進程(daemon)啟動
可以使用以下命令來確認 sendmail 是否已經啟動:ps –A|grep sendmail
如果啟動了 sendmail,那麼這個命令將顯示出它的相關信息。如果沒有啟動,則需要在/etc/rc.d/rc.net 文件中加上如幾行代碼:
if [-f /usr/lib/sendmail ];
then(cd /usr/spool/mqueue;rm –f if *)
/usr/lib/sendmail-bd-qlh;echo –n 『sendmail』>/dev/console
fi
2、設置sendmail.cf
sendmail.cf是sendmail的配置文件。在安裝了 Linux 系統之後,它將自動生成一個適合本系統使用的 sendmail.cf 文件,位於/etc/sendmail.cf
3、開啟SMTP、POP 埠
在默認情況下,SMTP 埠是打開的,而 POP埠是關閉的,我們必須將它打開:
1)用 root(超級許可權)登錄到伺服器上;
2)編輯文件/etc/inetd.conf;
3)找到描述 POP 埠的語句:#pop3 stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.pop3d
4)將 POP3的描述語句那一行的注釋號「#」去掉。
5)如果沒有找到,就手工補上這一行;(另外,我們還可以驗證一下是否存在 SMTP埠的描述語句) ;
6)存檔後退出。
7)運行 inetd 命令,使得設置生效。
8)用以下命令驗證,看 POP3 埠是否打開(生效):netstat –a |grep pop
如果打開的話,可以看到以下信息:tcp 0 0 *:pop3 *:* LISTEN
4、為新用戶開E-Mail 帳號
在 Linux 中開設 E-Mail 帳號十分簡單,只要在 Linux 系統中新增一個用戶即可。該用戶帳號和密碼就是E-Mail 的帳號和密碼。如:為新用戶 guest 開一個E-Mail帳號,用以下命令即可:
adser guest passwd guest
這樣,該新用戶的 E-Mail 地址就是:[email protected] ;密碼為:guest
5、為E-Mail 帳號設置別名
如果某個用戶想使用多個 E-Mail 地址,可通過設置別名的方法來實現。比:用戶「杜
方冬」想同時擁有 E-Mail 地址:[email protected] ;[email protected] ;[email protected]
就可通過以下步驟來實現這樣的別名設置:
1)以 root 登錄伺服器;
2)新增一個賬號 dfd;
3)編輯文件/etc/aliases,加上兩行:
fd:dfd
fd2000:dfd
4)存檔退出;
5)執行命令: newaliases
這樣,用戶杜方冬就擁有三個郵件地址,杜方冬只需使用一個E-Mail 帳號:[email protected]就可以接收所有寄給以上三個E-Mail 郵件地址的電子郵件。
6、郵箱空間的限定
如果你想控制用戶郵箱空間的大小,可以對它進行限定。實現方法是利用磁碟限額功能來實現的。電子郵件的暫存空間是在/var/spool/mail 目錄下,只要通過磁碟限額設定每一個用戶在這個目錄下能使用的最大空間就可以了。
⑧ 如何Linux下安裝sendmail
Linux 的 sendmail 配置
配置文件
在 Linux 系統中,Sendmail 包括如下配置文件:
/etc/sendmail.cf
/etc/mail/access
/etc/mail/aliases
/etc/mail/local-host-names
/etc/mail/mailertable
/etc/mail/virtusertable
/etc/mail/domaintable
~/.forward
我們將會 在下面的章節中詳細介紹這些配置文件。
/etc/sendmail.cf
/etc/sendmail.cf 是 sendmail 的主配置文件。該文件存儲了正在運行的 mailer 程序的類型信息,定義了重寫郵件地址的規則和 sendmail 命令的操作環境。因為 sendmail.cf 的語法比較復雜,我們一般不建議手動修改該配置文件。安裝了 sendmail 的 UNIX/Linux 系統都會帶有 sendmail.cf,而且該配置文件在大多數情況下都不需要修改就可以使用。如果用戶確實需要修改 sendmail.cf 配置文件 , 一般建議用戶基於 sendmail.mc 宏文件,利用 m4 程序來生成新的 sendmail.cf 文件。
在 RedHat Linux 系統中,sendmail.mc 宏文件位於 /etc/mail/ 目錄。
而 SuSE Linux 系統並沒有 sendmail.mc 文件,相應的,它提供了 /etc/mail/linux.mc ( 或者 /etc/mail/linux.nullclient.mc) 替代 sendmail.mc。/etc/mail/linux.mc 是 SuSEconfig 使用 /etc/rc.config 和 /etc/rc.config.d/sendmail.rc.config (SuSE <= 7.3) 或者 /etc/sysconfig/sendmail (SuSE >= 8.0) 的參數而生成的宏文件。SuSEconfig 執行 /sbin/conf.d/SuSEconfig.sendmail 腳本來構建 .mc 文件,並執行 m4 來生成 sendmail.cf 配置文件。用戶可以依照清單 1 所示的 SuSEconfig.sendmail 命令來生成配置文件。
清單 1. 使用 SuSEconfig.sendmail 命令生成配置文件
/ sbin/conf.d/SuSEconfig.sendmail -m4 > sendmail.mc
在 sendmail.mc 配置文件中經常出現如下的 m4 命令:
define:
用於定義配置文件中變數的值
divert:
用於定向 m4 進程的輸出。
divert 被設置為 -1 時 , 取消輸出。如果 divert(-1) 在一個文本塊的前面出現,這段文本將不會再 sendmail.cf 中出現 . divert 被設置為 0 時來定向數據流的輸出,如 sendmail.cf,
VERSIONID:
配置文件定義版本控制信息。
dnl:
注釋掉後面的所有字元。
dnl 出現在行尾,表示將清除掉不想要的空白行;dnl 出現在行首,表示這一行將被當成注釋。
DOMAIN:
選擇傳輸郵件的域。
FEATURE:
識別配置文件中一個特性 (Feature)。
MAILER:
識別包含在 sendmail.cf 一套郵件傳輸方法。
OSTYPE:
定義宏所使用的操作系統,它允許 m4 程序增加同相關操作系統相關的文件。
undefine:
清除配置文件中的變數值。
需要注意的是,m4 宏處理器生成的 sendmail.cf 文件必須放在 /etc/ 目錄 , 而非 /etc/mail。具體的操作如清單 2 所示。
清單 2.m4 命令生成配置文件 sendmail.cf
cp /etc/sendmail.cf /etc/sendmail.cf.bak
m4 sendmail.mc > sendmail.cf
在用戶修改完成 sendmail.cf 配置文件以後,最後一步操作是重新啟動 sendmail 服務,具體的操作如清單 3 所示:
清單 3. 重啟 sendmail 服務
service sendmail restart
/etc/mail/access 和 access.db
access 資料庫是由 sendmail V8.9 版本引入的特性, 並在 V8.10 重得到很好的發展。它提供了一個單一集中管理的訪問規則資料庫;它可以基於發信者的姓名、地址或者 IP 來判斷是否接受 (OK)、轉發 (RELAY)、拒絕 (REJECT) 或者取消 (DISCARD)。sendmail 會在接收郵件時進行規則判斷,默認情況下只接受本機發送的郵件。
對本地設置來說,/etc/mail/access 和 access.db 並不是必需的;只有在建立中央郵件集中伺服器來處理所有郵件的時候才需要這兩個文件。
access 資料庫的配置主要有三個步驟,具體操作如下所示。
修改 /etc/mail/access 文件;修改後的內容如清單 4 所示。
清單 4./etc/mail/access 文件內容
localhost.localdomain RELAY
localhostRELAY
127.0.0.1RELAY
192.168.1RELAY
利用 /etc/mail/access 創建資料庫映射文件 access.db,命令如清單 5 所示。
清單 5. 生成資料庫映射文件 access.db
makemap hash /etc/mail/access.db < /etc/mail/access
重啟 sendmail, 讀取 access.db,具體的命令如清單 3 所示。 service sendmail restart
/etc/mail/aliases 和 aliases.db
aliases 是 sendmail 郵件系統的別名資料庫。它可以定義郵遞列表,在機器之間轉發郵件,或者允許用多個名字指定一個用戶。因為 Aliases 別名處理的規則是遞歸的,所以一個別名指向的目的地也可以是別名。對於每個信封,sendmail 都會在別名文件中查找本地用戶的收件人名稱。由於 Sendmail 的可能要在 aliases 文件中搜索數以千計的收件人名稱,所以一個以 DB 資料庫格式存儲的 aliases 文件副本被創建,並用來提高查詢的速度。
同樣,這兩個配置文件也不是必需的。如果 sendmail 是使用中央伺服器的郵件處理中心處理所有郵件的話,安裝在鄰居伺服器或客戶機的 aliases 和 aliases.db 文件就不需要了。 aliases 資料庫的配置主要有三個步驟,如下所示。
1.修改 /etc/mail/aliases。修改後的內容如清單 6 所示。
清單 6. 修改後的 aliases 文件
# Basic system aliases that MUST be present.
postmaster: root
mailer-daemon: postmaster
# amavis
virusalert: root
2.根據 /etc/mail/ aliases 來創建資料庫映射文件 aliases.db,該命令如清單 7 所示。
清單 7. 創建資料庫映射文件 aliases.db
makemap hash /etc/mail/aliases.db < /etc/mail/aliases
3.重啟 sendmail,讀取 aliases.db,具體的命令如清單 3 所示。
service sendmail restart
⑨ Linux 下 mail,mailx 和 sendmail 的區別
郵件用戶代理(MUA,Mail User Agent)
郵件傳送代理(MTA,Mail Transport Agent)
郵件分發代理(MDA,Mail Deliver Agent)
通俗的說MUA就是用戶使用的客戶端,而MTA則是真正發送郵件的發送進程,MUA編寫的郵件最終也交由MTA發送至目標端。
mail和mailx即為負責查看、編寫郵件和向MTA發送郵件的MUA。mailx是mail的功能加強版。
sendmail即為負責郵件在網路上傳輸的MTA,將郵件從一個MTA傳送至另一個MTA。
⑩ 怎樣在linux下用sendmail搭建郵件伺服器原理和步驟分別是什麼樣的
1、sendmail只會開啟25埠,提供郵件轉發功能。
2、建議你用postfix替代sendmail,安全性會高些,否則很容易成為垃圾郵件伺服器
3、mysql存放賬戶
4、postfixadmin(php)提供管理賬戶的功能
5、dovecot提供pop3服務(110埠),你如果想收郵件需要開啟pop3或者imap功能。
6、SquirrelMail(php)可以提供web訪問mail(80埠)
7、需搭建LNMP或者LAMP,這是前提
8、有些商業郵件產品就相當於把這些軟體都打包了。