阿里雲專有網絡主機發送郵件


測試了一下阿里雲的VPC,發現VPC下的ECS主機都不能發送郵件。

我們先來看看以前我們再LINUX下如何發送郵件呢?很簡單

yum install mailx -y
\cp /etc/mail.rc{,.bk}
cat >> /etc/mail.rc  <<EOF
  set from=jiankong@163.com
  set smtp=smtp.163.com
  set smtp-auth-user=jiankong@163.com
  set smtp-auth-password=123456
  set smtp-auth=login
EOF

 

然后,echo "內容"|mail -s "標題" 郵箱地址,就能發送郵件,而我一般都是寫139的郵箱地址,因為能直接到手機了。

如果是經典網絡,阿里雲是不限制的。但是阿里雲的專有網絡主機卻把25端口出口方向限制了。

通過工單和阿里雲技術溝通,主要有2點可以繞過。

1、不使用25端口。

2、申請解封

第一點可以使用465和80端口。

第二點是基於彈性IP,我測試階段暫時用不到彈性IP。

使用465端口

vim /etc/mail.rc

  set from=baojing@QQ企業郵箱
  set smtp=smtps://smtp.exmail.qq.com:465
  set smtp-auth-user=baojing@QQ企業郵箱
  set smtp-auth-password=123456
  set smtp-auth=login
  set nss-config-dir=/etc/pki/nssdb/
  set ssl-verify=ignore

 

cd /etc/pki/nssdb

獲取證書文件

echo -n | openssl s_client -connect smtp.exmail.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ./qq.crt

添加證書到證書數據庫中

certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu"  -d ./ -i qq.crt 

使用80端口

使用阿里雲企業郵箱免費版也可以發信

set smtp=smtp.mxhichina.com:80

使用其他方法

既然這些主機在添加了NAT網關后都能請求外網,我是不是可以通過請求一台可以發送郵件的服務器幫忙轉發出去?

實現很簡單。

我寫了一個名為qOQBVnhLlEOjgjx.php的PHP文件(名字盡量復雜點,你懂得。)

<?php

$content = $_GET['content'];
$title = $_GET['title'];

shell_exec("echo '$content' | /bin/mail -s '$title' your@139.com");

?>

  

OK,利用PHP的內置函數調用系統MAIL命令實現發送郵件。

最后,我們在專有網絡主機上測試。

curl "http://www.abc.com/qOQBVnhLlEOjgjx.php?content=mysql oom&title=mysql down on 1.2.3.4"

完工。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM