### Ruby程序的SMTP機制
Ruby提供了兩個SMTP方案:
第一種方案直接用Net::SMTP來發送,比較底層。如果還要發送附件,則需要額外gem:mailfactory,而mailfactory又依賴于包mime-types。即便如此如果郵件服務器連接需要ssl,則還需要require文件smtp-tls.rb,而這個rb文件需要openssl包的支持
第二種方法是直接使用高層的gem包mail,包含添加附件的功能,不過該gem也依賴于mime-types包,這個包專門用來描述郵件文件格式的,俗稱多用途互聯網郵件擴展類型
在我們安裝Discourse、CanvasLMS等應用程序的時候,會碰到SMTP設置無效的情況。這個時候,就要先了解這些軟件究竟使用了哪種SMTP方案,才能對癥下藥。