時(shí)間:2023-02-10 00:39:01 | 來(lái)源:建站知識(shí)
時(shí)間:2023-02-10 00:39:01 來(lái)源:建站知識(shí)
? 前言:哈嘍,我是樹(shù)醬。文章的源頭,是因?yàn)樵谝淮谓徽勚?,朋友提到一個(gè)需求。需要一批郵箱去做一些"事情",具體是干啥事,留點(diǎn)懸念。如果手動(dòng)去注冊(cè)郵箱,只需要解決接收郵件問(wèn)題。不僅費(fèi)力而且現(xiàn)在包括像@163等郵箱都還需要手機(jī)驗(yàn)證。手動(dòng)不行,那我們就自己"造"郵箱。一開(kāi)始覺(jué)得挺復(fù)雜,畢竟作為一名前端工程師,這個(gè)“需求”已經(jīng)超綱了。問(wèn)題不大莫慌,看完這篇你就可以打造自己的域名郵箱了
?
? 關(guān)于 POP3協(xié)議(「Post Office Protocol 3」):協(xié)議主要用于支持使用客戶端遠(yuǎn)程管理在服務(wù)器上的電子郵件,將電子郵件存儲(chǔ)到本地主機(jī)下圖是阿里云服務(wù)器配置安全策略組的規(guī)則,在其中加入一條訪問(wèn)規(guī)則
?
? 關(guān)于 postfix:Postfix 是實(shí)現(xiàn) SMTP 協(xié)議的軟件,也叫做郵件發(fā)送服務(wù)器,負(fù)責(zé)對(duì)郵件進(jìn)行轉(zhuǎn)發(fā),具體的轉(zhuǎn)發(fā)規(guī)則,就需要我們對(duì)postfix的配置進(jìn)行修改我使用的是阿里云的服務(wù)器,首先我們安裝郵件服務(wù)`postfix'
?
yum install postfix // 服務(wù)器安裝
vi /etc/postfix/main.cf
命令行修改以下配置myhostname = email.example.com // 設(shè)置系統(tǒng)的主機(jī)名mydomain = example.com // 設(shè)置域名(我們將讓此處設(shè)置將成為E-mail地址“@”后面的部分)myorigin = $mydomain // 將發(fā)信地址“@”后面的部分設(shè)置為域名(非系統(tǒng)主機(jī)名)inet_interfaces = all // 接受來(lái)自所有網(wǎng)絡(luò)的請(qǐng)求mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain // 指定發(fā)給本地郵件的域名home_mailbox = Maildir/ // 指定用戶郵箱目錄# 規(guī)定郵件最大尺寸為10Mmessage_size_limit = 10485760# 規(guī)定收件箱最大容量為1Gmailbox_size_limit = 1073741824# SMTP認(rèn)證smtpd_sasl_type = dovecotsmtpd_sasl_path = private/authsmtpd_sasl_auth_enable = yessmtpd_sasl_security_options = noanonymoussmtpd_sasl_local_domain = $myhostnamesmtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject
下圖是postfix中主要的參數(shù) postfix check // 檢查配置文件是否正確systemctl start postfix //開(kāi)啟postfix服務(wù)systemctl enable postfix //設(shè)置postfix服務(wù)開(kāi)機(jī)啟動(dòng)
完成postfix的配置,接下來(lái)我們還需要安裝dovecot
? 關(guān)于 Dovecot:是一款能夠?yàn)長(zhǎng)inux系統(tǒng)提供IMAP和POP3電子郵件服務(wù)的開(kāi)源服務(wù)程序,安全性極高,配置簡(jiǎn)單,執(zhí)行速度快,而且占用的服務(wù)器硬件資源也較少。上文提到POP3/IMAP是從郵件服務(wù)器中讀取郵件時(shí)使用的協(xié)議
?
yum install dovecot // 服務(wù)器安裝
vi /etc/dovecot/dovecot.conf
命令行修改以下配置protocols = imap pop3 lmtp listen = *, #新添加以下配置 #!include conf.d/10-auth.conf ssl = no disable_plaintext_auth = no mail_location = maildir:~/Maildir
systemctl start dovecot //開(kāi)啟dovecot服務(wù)systemctl enable dovecot //置dovecot服務(wù)開(kāi)機(jī)啟動(dòng)
完成以上兩個(gè)服務(wù)的配置,你離成功就近一步了!? 啊樂(lè)同學(xué):postfix與dovecot這兩個(gè)其實(shí)有什么區(qū)別?答:postfix主要做發(fā)送郵件使用,而dovecot主要做接收使用,兩者結(jié)合才能完成一個(gè)完整的郵件服務(wù)
?
useradd tree/ 新增用戶passwd tree // 設(shè)置用戶密碼
? 啊樂(lè)同學(xué):如果這樣我創(chuàng)建100個(gè)郵箱用戶,豈不是很浪費(fèi)時(shí)間?莫慌,我們寫(xiě)個(gè)shell腳本,批量創(chuàng)建就可以解決你這個(gè)問(wèn)題
?
createUser.sh
內(nèi)容如下/bash#user.txt 為需要?jiǎng)?chuàng)建的用戶的文件passwd.txt為隨機(jī)生成密碼USER_FILE=user.txtpass_FILE=passwd.txtfor user in `cat user.txt`doid $user &> /dev/null #查看用戶是否存在if [ $? -eq 0 ]thenecho "The $user already exist"elseuseradd $user #創(chuàng)建用戶if [ $? -eq 0 ]thenecho "$user create sucessful"PASSWD=$(echo $RANDOM |md5sum |cut -c 1-8) #隨機(jī)生成數(shù)字echo $PASSWD |passwd --stdin $user &>/dev/null #修改用戶密碼echo -e "$user/'$PASSWD'/'$(date +%Y%m%d)'" >> $pass_FILE #將用戶,密碼,日期輸入到文件中fifidone
前提需要建立一個(gè)user.txt 來(lái)維護(hù)我們要?jiǎng)?chuàng)建的用戶,比如treeshujiang
腳本會(huì)根據(jù)我們列出的用戶名去批量生成用戶? 阿樂(lè)同學(xué):如果我每個(gè)新建的郵箱用戶,我都得去配置一個(gè)客戶端去接收郵寄,豈不是很費(fèi)勁,有沒(méi)有其他方式?有的,換個(gè)角度思考,你可以通過(guò)配置郵件轉(zhuǎn)發(fā),將所有郵件接收都轉(zhuǎn)發(fā)到某一個(gè)用戶的郵箱中去,你就可以只在該郵箱查閱郵件(我開(kāi)始懷疑你的動(dòng)機(jī),是不是搞什么批量注冊(cè)?。?br>
?
virtual_alias_domains = ensbook.com mail.ensbook.comvirtual_alias_maps = hash:/etc/postfix/virtual
完成配置之后,我查閱網(wǎng)上一些資料,需要配置/etc/postfix/virtual
文件,該文件主要用來(lái)管理電子郵件轉(zhuǎn)發(fā)規(guī)則的virtual
的用戶實(shí)現(xiàn)轉(zhuǎn)發(fā)接收的。如果你看得出問(wèn)題,記得在評(píng)論區(qū)告訴我? 阿樂(lè)同學(xué):我接收不到郵箱,又不知道什么問(wèn)題,如何排查?你可以通過(guò)
?
tail -n /var/log/maillog
查看郵件日志關(guān)鍵詞:郵件,服務(wù)
客戶&案例
營(yíng)銷資訊
關(guān)于我們
客戶&案例
營(yíng)銷資訊
關(guān)于我們
微信公眾號(hào)
版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。