Envio de Email com Gmail

31 views
Skip to first unread message

Julianog12

unread,
Mar 22, 2010, 11:59:20 AM3/22/10
to rails-br
Bom dia,

Gostaria de saber se consigo mandar email usando gmail de uma máquina
de usuário final?
Digo isto pois preciso de um servidor de email?

Desenvolvi uma aplicação offline para ser usado em notebooks, e em
determinado momento o usuário se conecta na web
e envia o email?


Estou tendo bastante dificuldades

Ronaldo Schork Jr.

unread,
Mar 22, 2010, 12:40:48 PM3/22/10
to rail...@googlegroups.com
É possível, e é bem simples.

Dois links que vão te ajudar a fazer isso:

- Ronaldo César Schork Júnior
- ronald...@gmail.com


2010/3/22 Julianog12 <julia...@hotmail.com>

--
Você está recebendo esta mensagem porque se inscreveu no grupo "rails-br" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para rail...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para rails-br+u...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/rails-br?hl=pt-BR.


Julianog12

unread,
Mar 22, 2010, 1:35:29 PM3/22/10
to rails-br
Bom Ronaldo,

vc tem uma aplicação completa para eu dar uma olhada, digo, os fontes?
sou novo
como rails e ta complicado!!!


Desde ja agradeço Ronaldo

On 22 mar, 13:40, "Ronaldo Schork Jr." <ronaldinh...@gmail.com> wrote:
> É possível, e é bem simples.
>

> Dois links que vão te ajudar a fazer isso:http://newleaders.com/discussions/168-using-gmail-smtp-with-actionmailerhttp://www.meupost.com/2009/02/15/usando-o-gmail-para-enviar-e-mail-c...
>  <http://newleaders.com/discussions/168-using-gmail-smtp-with-actionmailer>


> - Ronaldo César Schork Júnior

> - ronaldinh...@gmail.com
>
> 2010/3/22 Julianog12 <juliano...@hotmail.com>


>
>
>
> > Bom dia,
>
> > Gostaria de saber se consigo mandar email usando gmail de uma máquina
> > de usuário final?
> > Digo isto pois preciso de um servidor de email?
>
> > Desenvolvi uma aplicação offline para ser usado em notebooks, e em
> > determinado momento o usuário se conecta na web
> > e envia o email?
>
> > Estou tendo bastante dificuldades
>
> > --
> > Você está recebendo esta mensagem porque se inscreveu no grupo "rails-br"
> > dos Grupos do Google.
> > Para postar neste grupo, envie um e-mail para rail...@googlegroups.com.
> > Para cancelar a inscrição nesse grupo, envie um e-mail para

> > rails-br+u...@googlegroups.com<rails-br%2Bunsubscribe@googlegroups.c om>

Julianog12

unread,
Mar 22, 2010, 1:54:53 PM3/22/10
to rails-br
agora esta dando este erro

wrong number of arguments (3 for 2);


C:/progsruby/email/lib/smtp_tls.rb:8:in `check_auth_args'
C:/progsruby/email/lib/smtp_tls.rb:8:in `do_start'
c:/ruby/lib/ruby/1.8/net/smtp.rb:525:in `start'
c:/ruby/lib/ruby/gems/1.8/gems/actionmailer-2.3.3/lib/action_mailer/
base.rb:681:in `perform_delivery_smtp'
c:/ruby/lib/ruby/gems/1.8/gems/actionmailer-2.3.3/lib/action_mailer/
base.rb:523:in `__send__'
c:/ruby/lib/ruby/gems/1.8/gems/actionmailer-2.3.3/lib/action_mailer/
base.rb:523:in `deliver!'
c:/ruby/lib/ruby/gems/1.8/gems/actionmailer-2.3.3/lib/action_mailer/
base.rb:395:in `method_missing'
C:/progsruby/email/app/controllers/emailers_controller.rb:6:in
`send_email'
c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/
base.rb:1327:in `send'
c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/
base.rb:1327:in `perform_action_without_filters'
c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/
filters.rb:617:in `call_filters'
c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/
filters.rb:610:in `perform_action_without_benchmark'
c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/
benchmarking.rb:68:in `perform_action_without_rescue'
c:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/
core_ext/benchmark.rb:17:in `ms'
c:/ruby/lib/ruby/1.8/benchmark.rb:308:in `realtime'
c:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/
core_ext/benchmark.rb:17:in `ms'
c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/
benchmarking.rb:68:in `perform_action_without_rescue'
c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/
rescue.rb:160:in `perform_action_without_flash'
c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/
flash.rb:146:in `perform_action'
c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/
base.rb:527:in `send'
c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/
base.rb:527:in `process_without_filters'
c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/
filters.rb:606:in `process'
c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/
base.rb:391:in `process'
c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/
base.rb:386:in `call'
c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/
routing/route_set.rb:434:in `call'
c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/
dispatcher.rb:88:in `dispatch'
c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/
dispatcher.rb:111:in `_call'
c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/
dispatcher.rb:82
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/
query_cache.rb:29:in `call'
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/
query_cache.rb:29:in `call'
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/
connection_adapters/abstract/query_cache.rb:34:in `cache'
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/
query_cache.rb:9:in `cache'
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/
query_cache.rb:28:in `call'
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/
connection_adapters/abstract/connection_pool.rb:361:in `call'
c:/ruby/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/head.rb:9:in `call'
c:/ruby/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/methodoverride.rb:
24:in `call'
c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/
params_parser.rb:15:in `call'
c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/
session/cookie_store.rb:93:in `call'
c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/
failsafe.rb:26:in `call'
c:/ruby/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/lock.rb:11:in
`call'
c:/ruby/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/lock.rb:11:in
`synchronize'
c:/ruby/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/lock.rb:11:in
`call'
c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/
dispatcher.rb:106:in `call'
c:/ruby/lib/ruby/gems/1.8/gems/rails-2.3.3/lib/rails/rack/static.rb:
31:in `call'
c:/ruby/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/urlmap.rb:46:in
`call'
c:/ruby/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/urlmap.rb:40:in
`each'
c:/ruby/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/urlmap.rb:40:in
`call'
c:/ruby/lib/ruby/gems/1.8/gems/rails-2.3.3/lib/rails/rack/
log_tailer.rb:17:in `call'
c:/ruby/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/content_length.rb:
13:in `call'
c:/ruby/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/handler/webrick.rb:
50:in `service'
c:/ruby/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
c:/ruby/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
c:/ruby/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
c:/ruby/lib/ruby/1.8/webrick/server.rb:162:in `start'
c:/ruby/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'
c:/ruby/lib/ruby/1.8/webrick/server.rb:95:in `start'
c:/ruby/lib/ruby/1.8/webrick/server.rb:92:in `each'
c:/ruby/lib/ruby/1.8/webrick/server.rb:92:in `start'
c:/ruby/lib/ruby/1.8/webrick/server.rb:23:in `start'
c:/ruby/lib/ruby/1.8/webrick/server.rb:82:in `start'
c:/ruby/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/handler/webrick.rb:
14:in `run'
c:/ruby/lib/ruby/gems/1.8/gems/rails-2.3.3/lib/commands/server.rb:111
c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
`gem_original_require'
c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
`require'
script/server:3

On 22 mar, 14:35, Julianog12 <juliano...@hotmail.com> wrote:
> Bom Ronaldo,
>
> vc tem uma aplicação completa para eu dar uma olhada, digo, os fontes?
> sou novo
> como rails e ta complicado!!!
>
> Desde ja agradeço Ronaldo
>
> On 22 mar, 13:40, "Ronaldo Schork Jr." <ronaldinh...@gmail.com> wrote:
>
>
>
> > É possível, e é bem simples.
>

> > Dois links que vão te ajudar a fazer isso:http://newleaders.com/discussions/168-using-gmail-smtp-with-actionmai......


> >  <http://newleaders.com/discussions/168-using-gmail-smtp-with-actionmailer>
> > - Ronaldo César Schork Júnior
> > - ronaldinh...@gmail.com
>
> > 2010/3/22 Julianog12 <juliano...@hotmail.com>
>
> > > Bom dia,
>
> > > Gostaria de saber se consigo mandar email usando gmail de uma máquina
> > > de usuário final?
> > > Digo isto pois preciso de um servidor de email?
>
> > > Desenvolvi uma aplicação offline para ser usado em notebooks, e em
> > > determinado momento o usuário se conecta na web
> > > e envia o email?
>
> > > Estou tendo bastante dificuldades
>
> > > --
> > > Você está recebendo esta mensagem porque se inscreveu no grupo "rails-br"
> > > dos Grupos do Google.
> > > Para postar neste grupo, envie um e-mail para rail...@googlegroups.com.
> > > Para cancelar a inscrição nesse grupo, envie um e-mail para

> > > rails-br+u...@googlegroups.com<rails-br%2Bunsubscr...@googlegroups.c om>

Ronaldo Schork Jr.

unread,
Mar 22, 2010, 2:30:07 PM3/22/10
to rail...@googlegroups.com
Respondendo a pergunta anterior, não tenho um exemplo de uma aplicação minha usando isso.

Eu fiz uns testes faz bastante tempo e funcionou blz.

O erro em sí tá um pouco difícil de identificar sem ver teu código.

- Ronaldo César Schork Júnior
Para cancelar a inscrição nesse grupo, envie um e-mail para rails-br+u...@googlegroups.com.

Julianog12

unread,
Mar 22, 2010, 2:34:41 PM3/22/10
to rails-br
Meu environment.rb
ActionMailer::Base.delivery_method = :smtp
#Coloquei aqui as configurações do servidor de email imap.
ActionMailer::Base.smtp_settings = {
:tls => true,
:address => "smtp.gmail.com",
:port => "587",
:domain => "gmail.com",
:authentication => :plain, # pode usar também :login
:user_name => "garci...@gmail.com",
:password => "teste"
}


Emailer
class EmailersController < ApplicationController

def send_email

if request.post?
Emailer.deliver_contact()
end

end
end

Tem a view apenas para chamar, não estou usando os campos ali
<% form_tag :action => 'send_email' do %>
<table border="0">
<tr>
<th>Nome:</th>
<td><%= text_field_tag :name %></td>
</tr>
<tr>
<th>Email:</th>
<td><%= text_field_tag :from %></td>
</tr>
<tr>
<th>Assunto:</th>
<td><%= text_field_tag :subject %></td>
</tr>
</table>

<%= text_area_tag :message %> <p />

<%= submit_tag "Enviar" %>
<% end %>


Tem o plugin no diretório vendors
action_mailer_tls

On 22 mar, 15:30, "Ronaldo Schork Jr." <ronaldinh...@gmail.com> wrote:
> Respondendo a pergunta anterior, não tenho um exemplo de uma aplicação minha
> usando isso.
>
> Eu fiz uns testes faz bastante tempo e funcionou blz.
>
> O erro em sí tá um pouco difícil de identificar sem ver teu código.
>
> - Ronaldo César Schork Júnior

> - ronaldinh...@gmail.com

> > > > > rails-br+u...@googlegroups.com<rails-br%2Bunsubscribe@googlegroups.c om>


> > <rails-br%2Bunsubscr...@googlegroups.c om>
> > > > > .
> > > > > Para obter mais opções, visite esse grupo em
> > > > >http://groups.google.com/group/rails-br?hl=pt-BR.
>
> > --
> > Você está recebendo esta mensagem porque se inscreveu no grupo "rails-br"
> > dos Grupos do Google.
> > Para postar neste grupo, envie um e-mail para rail...@googlegroups.com.
> > Para cancelar a inscrição nesse grupo, envie um e-mail para

> > rails-br+u...@googlegroups.com<rails-br%2Bunsubscribe@googlegroups.c om>

Ronaldo Schork Jr.

unread,
Mar 22, 2010, 3:42:24 PM3/22/10
to rail...@googlegroups.com
Eu não tenho como testar aqui.

Mas garanta que tem o comando require "smtp_tls" no início do arquivo environment.rb.

Testa removendo o parâmetro :tls => true.
Os exemplos que ví não usavam esse parâmetro.

Mais um link pra dar uma olhada:

- Ronaldo César Schork Júnior
- ronald...@gmail.com



2010/3/22 Julianog12 <julia...@hotmail.com>

Eduardo Zaghi

unread,
Mar 22, 2010, 3:43:47 PM3/22/10
to rail...@googlegroups.com
Boa Tarde,

Eu estava olhando o erro que está dando. Já aconteceu esse erro comigo.

Ele está reclamando no método check_auth_args da smtp_tls.rb. isso deve acontecer na hora que a API ta tentando se autenticar nos servers do Google....

Voce ta passando 3 parametros e ele está esperando só 2, isso é da API, eu tinha visto uma vez que conforme a versão do Rails a API passa 2 parametros ou 3 para esse metodo.

E essa API de envio de email para o Gmail surgiu na net por ai, e a correçao para isso também achei em algum blog só não lembro qual rs.

Bom, mas vamos ao que interessa:

Tenta trocar o Arquivo smtp_tls.rb que deve estar em Sua_APP/lib por está que estou passando o link: http://gist.github.com/340430

Ela ja corrige esse bug de incompatibilidade de versoes....

Bom, tenta ae e qualquer coisa só falar!

Abraço
Eduzera

2010/3/22 Julianog12 <julia...@hotmail.com>
Para cancelar a inscrição nesse grupo, envie um e-mail para rails-br+u...@googlegroups.com.

Julianog12

unread,
Mar 22, 2010, 6:02:40 PM3/22/10
to rails-br
Eduardo, deu certo com esta library, foi só baixa-la e funcionou!!!
Cara, tu não acredita mais estava a um mes tentando(não
desesperadamente), mas não conseguia..!!!


nem sei como te agradecer!!


flw brow


On 22 mar, 16:43, Eduardo Zaghi <eduardoza...@gmail.com> wrote:
> Boa Tarde,
>
> Eu estava olhando o erro que está dando. Já aconteceu esse erro comigo.
>
> Ele está reclamando no método check_auth_args da smtp_tls.rb. isso deve
> acontecer na hora que a API ta tentando se autenticar nos servers do
> Google....
>
> Voce ta passando 3 parametros e ele está esperando só 2, isso é da API, eu
> tinha visto uma vez que conforme a versão do Rails a API passa 2 parametros
> ou 3 para esse metodo.
>
> E essa API de envio de email para o Gmail surgiu na net por ai, e a correçao
> para isso também achei em algum blog só não lembro qual rs.
>
> Bom, mas vamos ao que interessa:
>
> Tenta trocar o Arquivo smtp_tls.rb que deve estar em Sua_APP/lib por está

> que estou passando o link:http://gist.github.com/340430<git://gist.github.com/340430.git>


>
> Ela ja corrige esse bug de incompatibilidade de versoes....
>
> Bom, tenta ae e qualquer coisa só falar!
>
> Abraço
> Eduzera
>

> 2010/3/22 Julianog12 <juliano...@hotmail.com>


>
>
>
> > Meu environment.rb
> > ActionMailer::Base.delivery_method = :smtp
> >  #Coloquei aqui as configurações do servidor de email imap.
> >  ActionMailer::Base.smtp_settings = {
> >    :tls => true,
> >    :address => "smtp.gmail.com",
> >    :port => "587",
> >    :domain => "gmail.com",
> >    :authentication => :plain, # pode usar também :login

> >    :user_name => "garcia....@gmail.com",

> > > > > > > determinado momento o...
>
> mais »

Julianog12

unread,
Mar 22, 2010, 6:05:33 PM3/22/10
to rails-br
obrigado Ronaldo, era só a smtp_tls.rb q tava com pau!!! o Eduardo me
passou ali e funcionou de cara

obrigado mesmo


On 22 mar, 16:42, "Ronaldo Schork Jr." <ronaldinh...@gmail.com> wrote:
> Eu não tenho como testar aqui.
>
> Mas garanta que tem o comando require "smtp_tls" no início do arquivo
> environment.rb.
>
> Testa removendo o parâmetro :tls => true.
> Os exemplos que ví não usavam esse parâmetro.
>
> Mais um link pra dar uma olhada:http://ruby.dzone.com/news/rails-gmail-simple-email-deliv
>
> - Ronaldo César Schork Júnior

> - ronaldinh...@gmail.com
>
> 2010/3/22 Julianog12 <juliano...@hotmail.com>


>
>
>
> > Meu environment.rb
> > ActionMailer::Base.delivery_method = :smtp
> >  #Coloquei aqui as configurações do servidor de email imap.
> >  ActionMailer::Base.smtp_settings = {
> >    :tls => true,
> >    :address => "smtp.gmail.com",
> >    :port => "587",
> >    :domain => "gmail.com",
> >    :authentication => :plain, # pode usar também :login

> >    :user_name => "garcia....@gmail.com",

Reply all
Reply to author
Forward
0 new messages