使用Heroku和Ubuntu服务器从Scala发送电子邮件和SMS

时间:2012-01-19 08:44:01

标签: email scala heroku sms finagle

我正在创建一个简单的HTTP代理,它将位于移动应用程序和后端SOAP服务器之间。代理服务器将包装在一个过滤器中,该过滤器在发现某些类型的消息时发送电子邮件和短信通知。我决定使用Scala,Finagle和Heroku。然而,我的客户坚持认为系统不能被绑定到Heroku,如果他们决定在他们自己的Ubuntu服务器上托管。因此,他们对使用Heroku插件持怀疑态度,因为这些插件很难在以后的Ubuntu上设置相同的服务。

如果有人可以就解决这个问题分享一些想法,我将非常感激。特别是:

  • 在Ubuntu上运行Finagle需要什么特别的东西吗?我可以使用SBT来“神奇地”获取所有东西吗?
  • 是否有任何好的解决方案,图书馆或服务,允许以简单安全的方式发送邮件或短信,以便与Heroku和Ubuntu一起使用?
  • 从Java发送邮件通常使用系统属性。如何为像Heroku这样的远程服务器设置它?

1 个答案:

答案 0 :(得分:0)

从Java发送邮件不需要 system 属性:

Properties props = new Properties();
props.put("mail.smtp.auth", "true");
Session session = Session.getInstance(props);
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("from@mycomp.com"));   
message.setRecipients(Message.RecipientType.TO, new InternetAddress("to@mycomp.com"));
message.setSubject("Some Subject");
message.setText("Some Message");
Transport transport = session.getTransport("smtp");
transport.connect(host, port, username, password);
Transport.send(message);

如果您愿意,可以从属性文件中加载道具和主机,端口,用户名,密码。或者从数据库中删除。

因此,发送邮件完全独立于Ubuntu和Heroku。

发送短信我这样做了:http://nexmo.com/documentation/libs/index.html#java