### 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方案,才能对症下药。