新手问题 [已解决] SendCloud 用 SMTP 配置发邮件总是 EOFError

evenluo · 2016年01月18日 · 最后由 HUSTecho 回复于 2016年01月27日 · 3764 次阅读

development.rb 中:

config.action_mailer.smtp_settings = {
  :address        => "smtpcloud.sohu.com",
  :port           => 25,
  :authentication => :login,
  :domain         => "我的发信域名",
  :user_name      => "我的api user",
  :password       => "我的api key"
}

其他写法是按照 ActionMailer 的 guide 来的。另外域名也已经验证通过了。

返回如下:

UserMailer#welcome: processed outbound mail in 10.7ms

Sent mail to {收件地址} (1095.0ms)
Date: Mon, 18 Jan 2016 17:23:23 +0800
From: {发件地址}
To: {收件地址}
Message-ID: <569caf0b20afc_ba03ffaba3bc58c85776@matabuns-MacBook-Pro.local.mail>
Subject: Welcome
Mime-Version: 1.0
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable
...
EOFError (end of file reached):

注意:个人信息已做处理。

不知道哪里做得不对,能否指点一二?

===

后来证明是所有的邮件必须都有对应的模板存在才可以。。我真是给这个错误提示跪了

善用搜索。链接 并且 username 填的应该是发件地址。而不是 api user

#1 楼 @hging 这个帖子我看到过,但是并不是这个原因,我的免费试用 使用率 0/130,然后 username 我是搜索的客户服务回答,参考这个:https://sendcloud.kf5.com/posts/view/6534/

#3 楼 @hging 换成发件地址后,遇到了这个

Net::SMTPAuthenticationError (535 Authentication failed):

#4 楼 @evenluo 那就不知道了。感觉 sendcloud 不适合用 smtp 去发送。

#5 楼 @hging 如果我用 Web API 的方式,其中的 html 也就是内容字段怎么赋值?

发送内容符合邮件模板么?email 地址对么? 他们 smtp 的报错信息是很难调试。

#7 楼 @xmonkeycn 我并没有使用模板的方式,只是想尝试一下简单发送

应该是模板的问题 任何邮件都必须使用模板审核通过后才能发

#9 楼 @xyuwang 果然是这样,必须要近似于模板

充值 500 就不用担心模版了

#11 楼 @embbnux 所以我去找阿里了,SMTP 方法不用模板,哈哈哈

用 http 的方式操作比较容易调试,SMTP 用起来太糟糕了

主要 SMTP 没法返回啥错误信息。。。 以后你要开始做群发,超过每日发送配额,也会再遇到这个 EOFError 的~

SendCloud 官网的 Ruby SMTP 示例代码已经更新 可以查看参考一下 http://sendcloud.sohu.com/doc/email/code/#ruby

需要 登录 后方可回复, 如果你还没有账号请 注册新账号