Gambiarras para o Rails, SSL e Dreamhost
Publicado em Developer
dreamhost email rails ruby smtp ssh ssl
Hoje tive um probleminha preparando para mandar uma app nova para a Dreamhost. Eu costumo sempre testar o envio de email, mesmo em modo de desenvolvimento, com as configurações de produção do servidor para ver se não vou ter nenhuma surpresa.
Aí hoje tive uma surpresa: por mais que eu mandasse o email com os deliver_something da vida, nada chegava na caixa postal. Aí fiz uma bela de uma burrada esquecendo que devia alterar o development.rb para o seguinte:
# Don't care if the mailer can't send config.action_mailer.raise_delivery_errors = true
Reparem no comentário: o default ali é false, ou seja, os emails não estavam sendo enviados e eu nem tchuns. Habilitando ali na hora de enviar o email o negócio já explodiu:
OpenSSL::SSL::SSLError in SiteController#controller hostname was not match with the server certificate
Ahá! Olha aí o dito cujo. Mas o que vem a ser isso? Dando uma pesquisada, achei algumas coisas como esse link onde se menciona uma mudança em certificados SSL no Rails 2.2 blá blá blá. O autor menciona alguns jeitos que ele resolveu o problema, mas o meu problema aqui é fazer rodar no desenvolvimento usando o servidor da produção. Como fazer?
Aí resolvi fazer a gambiarra. Primeiro usei um usuário para conectar via ssh no host. Chegando lá, pedi para abrir a porta 25 com o telnet:
[server]$ telnet localhost 25 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 server.dreamhost.com ESMTP quit 221 2.0.0 Bye Connection closed by foreign host.
Opa, legal, ele abre a porta 25 no localhost remoto, e está tudo certinho, é um SMTP. Conferido isso, vou criar um túnel ssh para lá (o Lichti tem uma explicação sobre isso aqui), na minha máquina local:
[taq@]$ ssh user@host.com.br -L 2500:127.0.0.1:25 -N user@host.com.br's password:
Feito isso, já tenho uma porta local apontando para o SMTP no servidor. Agora é alterar o development.rb para usar isso, inclusive até sem autenticação, já que estamos lá no servidor:
# Don't care if the mailer can't send config.action_mailer.raise_delivery_errors = true config.action_mailer.smtp_settings = { :address => 'localhost', :port => 2500, :domain => 'localhost' }
Tchans! Não é que funcionou? Agora os emails estão indo e não tenho nenhum erro. Daria para eu experimentar configurar o sendmail também, mas, putz ... deixa para outro dia. :-)
Atualizado: Xi, o buraco é mais embaixo, eu coloquei o treco em produção e o erro ocorre também! Parece que é alguma coisa com os certificados SSL do servidor específico que estou usando, abri um chamado na Dreamhost já, vamos aguardar ...
Comentários
Comentários fechados.
Artigos anteriores
- Pull requests em modo raiz - sex, 22 de dezembro de 2023, 09:57:09 -0300
- Qual a idade do seu repositório? - ter, 27 de dezembro de 2022, 12:50:35 -0300
- Utilizando ctags em projetos Rails mais recentes - qui, 24 de junho de 2021, 08:23:43 -0300
- Fazendo o seu projeto brotar - seg, 15 de julho de 2019, 08:57:05 -0300
- Learn Functional Programming with Elixir - sex, 02 de março de 2018, 18:47:13 -0300
- Ambiente mínimo - Driver Driven Development - qua, 23 de agosto de 2017, 15:15:03 -0300
- Ambiente mínimo - repositórios de código - dom, 16 de abril de 2017, 13:02:14 -0300
- Ambiente mínimo - terminal e navegador - dom, 02 de abril de 2017, 21:43:29 -0300
- Utilizando muitas gems no seu projeto? - sáb, 29 de outubro de 2016, 11:57:55 -0200
- Desenvolvedores e inteligência artificial - seg, 11 de julho de 2016, 09:09:38 -0300
Patola, é, por isso que eu vou esperar para ver qual é e depois comento alguma coisa. :-)
Sobre o Tales of the Black Freighter, parece que vai ficar muito legal, tem até o Gerard Butler dublando!
Pois é, espero que o final novo fique bom, parece que não vai mudar muito. Putz, espero que não estrague o filme!
Você viu que o Tales of the Black Freighter vai ser uma animação à parte, vendida em seu próprio DVD?
Ah, frase minha: "Who watches the watchwomen whilst the Watchmen are busy fighting crime?"
Patola, estou esperando sair o filme primeiro! Se eu fosse comentar alguma coisa ANTES, poderia fazer alguns spoilers sem querer, e uma obra como Watchmen não pode ser discutida pela metade, não concorda? :-)
E tomara que dê para fazer comentários positivos do filme. Pelo que a gente anda vendo, está muito bem feito, tomara que não desaponte. Uma coisa que eu li é que mudaram o final. É, aquele "trecão" não vai estar lá, mas o Zack Snyder prometeu algo similar. Aguardemos! :-)
TaQ,
Já é dia 27 de fevereiro e você ainda não fez um post sobre o Watchmen?
Você só tem mais uma semana antes que saia o filme. Anda logo!
Sin City? Foi ótimo. 300? Foi massa.
Mas Watchmen...
......
...........
..................
(sem palavras)
Bruno, dá uma olhada aqui: http://wiki.rubyonrails.org/rails/pages/PhotoApp
Olá Taq,
estou começando um projeto e resolvi utilizar o Ruby on Rails, depois de ver que é um negócio que ta crescendo e por que gosto de aprender coisas novas. Resolvi fazer a pergunta a você depois que li a Info e vi a reportagem sobre o Ruby ...
É o seguinte, o site que tenho que desenvolver tem que ter uma galeria de fotos, como a da globo.com. Eu sei que já existem muitas feitas em php + ajax + mysql, porém eu gostaria de saber se já tem para o Ruby on rails.
Eu até dei uma pesquisada, mas como ainda estou só estudando não deu para testar as candidatas. Como você é mais experiente, talvez conheça uma.
Desde já agradeço.
Fausto, que bom que ajudei, fico feliz! Estou dando uma olhadinha lá no blog!
Juliano, apesar de ser em grande parte uma bela de uma diversão programar, a gente tem que ser pago também né, ninguém vive embaixo de uma árvore e tem contas para pagar ehehe. :-)
O tutorial é indicado para quem já tem noções de programação, se você está chegando agora indico o "Learn to Program", do Chris Pine, inclusive tem uma tradução em Português: http://pine.fm/LearnToProgram/
Opa!
E aih taq..
Queria tira uma duvida contigo, seguinte, eu nunca programei na minha vida e vou ser sincero, meu primeiro objetivo era pra ganha dinheiro (tenho um primo que ganha mt dinheiro programando em ruby on rails) e eu pensei que nao iria gostar de programar pq minha area mesmo sempre foi mais graficos.. Enfim, acabei "gostando" pelo menos do que eu vi no seu livro, meu primo me indico ele e eu estou adorando, porem estou com mt dificuldade, aih que entra a questao, vc acha que eu deveria pegar alguma outra programacao de inicio pra ter uma nocao melhor do que é ruby ou eu posso jah mergulha de cabeca em ruby? pq eu realmente apesar de entender como funciona nao estou conseguindo passar a teoria pra pratica. Eu já li a metade do livro e entendi bastante coisa mais ainda nao consigo produzir nada.. Me da uma forca aih, ando mt confuso com tudo isso.
E ai Taq,
tudo joia?
Rapaz estamos começando um blog onde escreveremos sobre todos os passos e desafios que envolvem lançar um produto Rails na web.
Estou utilizando seu tutorial para conhecer mais Ruby e estou gostando muito.
É isso ai Taq,
valeu pelo tutorial...
se puder da uma passadinha lá no nosso blog (blog.linqme.com.br)
abração
No Rails 2.3 isso foi corrigido (http://github.com/rails/rails/commit/c2e7851fb20d24f49b55b5276cc3056082721dc4), enquanto ele não fica estável a gente pode desabilitar a função de iniciar o tls automático em Net::SMTP colocando isso em um dos initializers:
http://pastebin.com/f2cb52d43
Boa, boa!!