郵件附件儲存方案設計

2021-08-20 21:07:37 字數 713 閱讀 4854

場景:

2、內外網隔離策略:redis作為請求的**和相應的接受

3、ftp作為郵件附件儲存伺服器

4、原本設計:每次都去郵件伺服器取附件,放到ftp伺服器,導致ftp伺服器的檔案大量浪費,需解決此問題

方案一:每次點郵件詳情頁面,都去郵件伺服器取附件(現在的做法),並儲存附件路徑,定期刪除(比如每天定時清除一天前的附件)

【優點:對原有**的修改減少,方案相對簡單

】方案二:每次點郵件詳情頁面,都去郵件伺服器取附件,將附件存放都redis中,每次去redis中獲取附件資料,redis快取失效後附件資料自動刪除

【優點:安全,不會暴露郵件附件

缺點:1、此方案需要考慮redis的負載能力,一旦redis掛掉,會出現宕機情況,所以此地方需要應用高可用策略,現在正式環境已有redis集群(一主三從二哨兵),理論上可以處理

2、對**改動較大

3、用redis做檔案byte陣列快取的策略尚未試驗過】【

優點:1、完美解決附件安全性問題

2、效能理論上比從郵件取附件快

缺點:1、資料同樣會經過redis,對redis造成壓力,

2、占用伺服器大量儲存空間

3、**改動較大

】綜合分析:偏向使用方案一,系統對效能要求不高,tps和qps不高,穩定安全為主,由此看來方案二也是可行的,但是方案二沒做過測試是個坑

疑問:1、郵件會有特別大的附件嗎?比如100兆以上的附件?

python 傳送郵件,附件郵件

1,傳送郵件 import smtplib from email.mime.text import mimetext msg from sunruirui1028 163.com 傳送方郵箱 passwd srui1028 填入傳送方郵箱的授權碼 msg to 1048786140 qq.com 收...

c 傳送郵件 附件

winform窗體 如下 using system using system.collections.generic using system.componentmodel using system.data using system.drawing using system.linq using ...

LumiSoft收取郵件(含郵件附件)

在.net當中利用c 傳送電子郵件很簡單,微軟也提供了預設的實現,但是收取電子郵件的操作卻並沒有提供解決方案。好在有一些第三方的解決方案可供選擇,來簡化程式設計師日常專案中的開發工作。我們開啟這個專案bin目錄下的lumisoft.net.dll檔案,這就是封裝好的乙個核心dll。我們可以利用.ne...