計劃任務的書寫看我前面的博客,超級詳細vim
set from=設置用哪一個郵箱發送郵件#收到郵件時顯示的發件人 set smtp=smtp.qq.com#郵箱的域名 set smtp-auth-user=你的QQ郵箱帳號#發郵件的用戶名 set smtp-auth-password=郵箱的POP3/SMTP服務的受權碼 set smtp-auth=login #SMTP的認證方式,默認是login,也能夠改爲CRAM-MD5或PLAIN方式
獲取郵箱受權碼的方式:登錄你的郵箱
而後點擊帳戶
選擇開啓POP3/SMTP服務
而後獲取受權碼
centos
mail -vvv -s 」主題" 郵箱地址
mail -s "主題" xxx@qq.com < 文件(郵件正文.txt) cat 郵件正文.txt | mail -s 郵件主題 收件地址 echo "郵件正文" | mail -s 郵件主題 收件地址
mail -s "主題" 收件地址 -a 附件 < 文件(郵件正文.txt)
到這裏通常的虛擬機和主機應該都沒問題了,可是當我使用阿里雲、騰訊雲的主機的時候會報錯鏈接超時,通過一番查證和實驗發現阿里雲和騰訊雲的主機把25號端口給封鎖,致使鏈接超時,要想解決這個問題,能夠去阿里雲和騰訊雲的控制檯上申請開啓25號端口,這樣這個問題也就迎刃而解了。可是還有一種安全並且加密的協議在不申請25號端口的狀況下完美的解決這個問題,那就是 ssl協議。安全
set from=設置用哪一個郵箱發送郵件#收到郵件時顯示的發件人 set smtp="smtps://smtp.qq.com:465"#郵箱的域名及端口號 set smtp-auth-user=你的QQ郵箱帳號#發郵件的用戶名 set smtp-auth-password=郵箱的POP3/SMTP服務的受權碼 set smtp-auth=login #SMTP的認證方式,默認是login,也能夠改爲CRAM-MD5或PLAIN方式 set nss-config-dir=/etc/pki/nssdb #存放認證證書的地址 set ssl-verify=ignore
[root@localhost ~]# rpm -qa mailx #查看本身的mailx版本 mailx-12.5-19.el7.x86_64 [root@localhost ~]# yum -y install mailx #安裝最新版的mailx
[root@cyn(cyn) ~ ]# echo "今晚約嗎?"|mail -vvv -s "真帥" 0011000100@qq.com Resolving host /smtp.qq.com . . .Could not resolve host: /smtp.qq.com "/root/dead.letter" 11/330 . . . message not sent.
解決方法:
a. 增長dns解析網絡
[root@cyn(cyn) ~ ]# vim /etc/resolv.conf #在本文件中增長一條記錄,必須寫在第一個,由於這個文件時順序執行,會解析第一個nameserver,第一個解析不了再去解析下一個 nameserver 114.114.114.114 nameserver 100.100.2.136 nameserver 100.100.2.138
[root@cyn(cyn) ~ ]# echo "今晚約嗎?"|mail -vvv -s "真帥" 0011000100@qq.com Resolving host smtp.qq.com . . . done. Connecting to 14.17.57.241:465 . . . connected Refused. . . . message not sent.
解決方法:基本上都是網絡問題了還有自己防火牆ide
[root@localhost ~]# iptables -F [root@localhost ~]# setenforce 0
網易郵箱也能夠,設置方法同QQ郵箱,下面介紹一下獲取受權碼
登錄網易郵箱,點擊設置,開啓POP3/SMPT服務,點擊保存
點擊客戶端受權密碼,再點擊重置密碼
獲取受權碼
阿里雲
可是網易郵箱會把發過去的郵件當成垃圾郵件處理,使用的時候須要注意。加密