dcparker / ruby-gmail

A Rubyesque interface to Gmail. Connect to Gmail via IMAP and manipulate emails and labels. Send email with your Gmail account via SMTP. Includes full support for parsing and generating MIME messages.
http://dcparker.github.com/ruby-gmail
790 stars 123 forks source link

How I can disable log message in stderr? #92

Open tit opened 7 years ago

tit commented 7 years ago

I try send email

$ irb -r gmail
2.3.1 :001 > gmail = Gmail.new 'vezetvsem.test', password
2.3.1 :002 > gmail.deliver do
2.3.1 :003 >   from 'vezetvsem.test@gmail.com'
2.3.1 :004?>  to 'sblohin@yandex.ru'
2.3.1 :005?>  subject 'test'
2.3.1 :006?>  body 'test'
2.3.1 :007?> end

First problem

/Users/tit/.rvm/gems/ruby-2.3.1/gems/ruby-gmail-0.3.1/lib/smtp_tls.rb:39:in `do_tls_start': Object#timeout is deprecated, use Timeout.timeout instead.

Please, fix it, if you can.

Second problem

-> "220 smtp.gmail.com ESMTP 21sm822378ljv.67 - gsmtp\r\n"
<- "EHLO vezetvsem.test\r\n"
-> "250-smtp.gmail.com at your service, [178.76.226.8]\r\n"
-> "250-SIZE 35882577\r\n"
-> "250-8BITMIME\r\n"
-> "250-STARTTLS\r\n"
-> "250-ENHANCEDSTATUSCODES\r\n"
-> "250-PIPELINING\r\n"
-> "250-CHUNKING\r\n"
-> "250 SMTPUTF8\r\n"
<- "STARTTLS\r\n"
-> "220 2.0.0 Ready to start TLS\r\n"
<- "EHLO vezetvsem.test\r\n"
-> "250-smtp.gmail.com at your service, [178.76.226.8]\r\n"
-> "250-SIZE 35882577\r\n"
-> "250-8BITMIME\r\n"
-> "250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH\r\n"
-> "250-ENHANCEDSTATUSCODES\r\n"
-> "250-PIPELINING\r\n"
-> "250-CHUNKING\r\n"
-> "250 SMTPUTF8\r\n"
<- "AUTH PLAIN AHZlemV0dnNlbS50ZXN0QGdtYWlsLmNvbQBzMjE0UzIxNA==\r\n"
-> "235 2.7.0 Accepted\r\n"
<- "MAIL FROM:<vezetvsem.test@gmail.com>\r\n"
-> "250 2.1.0 OK 21sm822378ljv.67 - gsmtp\r\n"
<- "RCPT TO:<sblohin@yandex.ru>\r\n"
-> "250 2.1.5 OK 21sm822378ljv.67 - gsmtp\r\n"
<- "DATA\r\n"
-> "354  Go ahead 21sm822378ljv.67 - gsmtp\r\n"
writing message from String
wrote 288 bytes
-> "250 2.0.0 OK 1500626420 21sm822378ljv.67 - gsmtp\r\n"
<- "QUIT\r\n"
-> "221 2.0.0 closing connection 21sm822378ljv.67 - gsmtp\r\n"

Every time gmail gem write in stderr this log. If I run my script with this gem in cron, I have recived error mail from cron with this log. I solved this problem for next code. Before use send email by gmail gem I:

stderr = File.new '/dev/null', 'w'
$stderr.reopen stderr

Please, add optional parameter to gem, ex. debug: false.

Sorry for my bad english...