2013-03-06 151 views
3

我想从流星JS发送电子邮件,并采取了最简单的方法在文档中找到。然而,发送失败,我得到了下面的堆栈跟踪:MeteorJS电子邮件配置SSL

Exception while invoking method 'sendEmail' Error: connect ETIMEDOUT 
at Object.Future.wait (/usr/lib64/meteor/lib/node_modules/fibers/future.js:322:15) 
at smtpSend (app/packages/email/email.js:69:43) 
at Object.Email.send (app/packages/email/email.js:111:7) 
at Meteor.methods.sendEmail (app/server/email.js:7:11) 
at _.extend.protocol_handlers.method.exception (app/packages/livedata/livedata_server.js:593:30) 
at _.extend.withValue (app/packages/meteor/dynamics_nodejs.js:33:19) 
at app/packages/livedata/livedata_server.js:592:46 
at _.extend.withValue (app/packages/meteor/dynamics_nodejs.js:33:19) 
at _.extend.protocol_handlers.method (app/packages/livedata/livedata_server.js:591:37) 
at _.extend.processMessage.processNext (app/packages/livedata/livedata_server.js:484:43) 
- - - - - 
at errnoException (net.js:770:11) 
at Object.afterConnect [as oncomplete] (net.js:761:19) 

我通过这行提供在服务器文件夹bootstrap.js我的电子邮件设置:

process.env.MAIL_URL = "smtp://[email protected]:[email protected]:465" 

我敢肯定,我也有打开SSL的某处,但我不知道如何(我可以单独使用Node的email.js)。

+1

请添加为以防别人你自己的答案过来对太 – Akshat 2013-03-12 10:35:47

+0

我得到了同样的错误,但我的问题是,我的企业防火墙挡住端口25交换端口587解决了超时问题。此命令可用于测试与SMTP服务器和端口的连接:'nc email-smtp.us-east-1.amazonaws.com 587' – Leons 2015-08-20 19:27:32

回答

1

发现它我自己 - 它不是没有设置SSL选项,而是MAIL_URL中的第一个“@ gmail.com”。正确的路线是:

process.env.MAIL_URL = "smtp://user:[email protected]:465" 
+0

来自原始问题。 – jacksondc 2014-07-21 22:38:52

+0

使用@ gmail.com没有错(有时不可避免的,例如在google aps的情况下),但是您必须对第一个@进行网址编码。 – Ruby 2015-06-15 02:20:04