PENGZhaoqing / CourseSelect

校园选课系统样本 (a template for course selection system by Ruby on Rails)
https://courseselect.herokuapp.com/
MIT License
106 stars 205 forks source link

c9 上能用ActionMailer(smtp方式)来发邮件吗? #49

Closed xiaokai58 closed 7 years ago

xiaokai58 commented 7 years ago

显示说发送成功,但是实际上根本没有收到邮件

PENGZhaoqing commented 7 years ago

理论上是可以的,但你需要将各项参数填正确,而且你发送方的邮箱设置比如STMP选项你要打开,第三方登录什么的

https://github.com/PENGZhaoqing/CampusPortal

PENGZhaoqing commented 7 years ago

从rails的log来看,rails这边是处理OK了,但是呢,邮件是从163发到163,rails只不过是个代理:作为代理登录mxbeijingmi@163.com并向xiaok58@163.com发送邮件,所以最终发送成功没,还是要看163是否能正确处理,我之前也遇见过rails的log显示正确却并没有收到邮件的情况,后来查了好多解决了,然后又出问题了。。。企业邮箱应该好点

你应该把你的配置信息贴出来

PENGZhaoqing commented 7 years ago

image

发送方的邮箱设置设置没

xiaokai58 commented 7 years ago

嗯,发送方和接收方的邮箱的都设置了

PENGZhaoqing commented 7 years ago
   config.action_mailer.default_url_options = {host: 'your_site_domain.com'}

   config.action_mailer.perform_deliveries = true
   config.action_mailer.delivery_method = :smtp

   ActionMailer::Base.smtp_settings = {
       :address => 'smtp.163.com',
       :port => '25',
       :authentication => :login,
       :user_name => ENV['163MAIL_USERNAME'],
       :password => ENV['163MAIL_PASSWORD'],
       :domain => 'www.163.com',
       :enable_starttls_auto => true
   }

your_site_domain.com填的什么 另外你关于发送邮件的控制器和视图贴上来

xiaokai58 commented 7 years ago

config.action_mailer.default_url_options = { host: '127.0.0.1', port: 3000 }

g1

发送的地方 image

视图: image

PENGZhaoqing commented 7 years ago

config.action_mailer.default_url_options = { host: '127.0.0.1', port: 3000 }

127.0.0.1是本地开发用的测试地址,c9肯定不能写这个啊,要写你的project网址url

http://stackoverflow.com/questions/30395432/rails-sending-email-after-filling-contact-form

xiaokai58 commented 7 years ago

image config.action_mailer.default_url_options = {:host => "https://test4-xiaokai58.c9users.io", :port => "3000"} 这样设置?

PENGZhaoqing commented 7 years ago

3000也是本地的端口,可以不写,因为我也不知道端口是多少,可能是8080,不写应该就是默认的

怎么设置我也说了也不算,你大胆就尝试就行了,试对了就对了