Symfoware

Symfowareについての考察blog

Ruby + gem mailでメール送信時、「post_connection_check」「Non US-ASCII detected 」

Rubyでメール送信、簡単だと思ったのですが地味にはまったのでメモしておきます。


Mailライブラリーのインストール



gemでメールのライブラリーをインストールしておきます。


# gem install mail





サンプルプログラム



サンプルプログラムはこんな感じになりました。
SMTPサーバー経由でメールを送信しています。


  1. # -*- coding : utf-8 -*-
  2. require "mail"
  3. # 送信するメールの設定
  4. mail = Mail.new
  5. mail.from    = "from@example.com"
  6. mail.to     = "to@example.com"
  7. mail.subject = "メールタイトル"
  8. mail.body    = "メール本文"
  9. mail.charset = 'utf-8'
  10. # 送信に使用するメールサーバーの指定
  11. mail.delivery_method(:smtp,
  12. address:        "stmpserver.example.com",
  13. port:         25,
  14. enable_starttls_auto: false,
  15. )
  16. # 送信実行
  17. mail.deliver






mail.charset = 'utf-8'



これをを指定していないと、以下の警告が発生します。


Non US-ASCII detected and no charset defined.
Defaulting to UTF-8, set your own if this is incorrect.






enable_starttls_auto: false,



これを指定していないと、以下のエラーが発生します。


/usr/local/lib/ruby/1.9/openssl/ssl-internal.rb:129:in `post_connection_check':
hostname does not match the server certificate (OpenSSL::SSL::SSLError)
    from /usr/local/lib/ruby/1.9/net/smtp.rb:585:in `tlsconnect'
    from /usr/local/lib/ruby/1.9/net/smtp.rb:560:in `do_start'
    from /usr/local/lib/ruby/1.9/net/smtp.rb:519:in `start'
    from /usr/local/lib/ruby/gems/1.9/gems/mail-2.5.4/lib/mail/network/delivery_methods/smtp.rb:112:in `deliver!'
    from /usr/local/lib/ruby/gems/1.9/gems/mail-2.5.4/lib/mail/message.rb:2129:in `do_delivery'
    from /usr/local/lib/ruby/gems/1.9/gems/mail-2.5.4/lib/mail/message.rb:234:in `deliver'






【参考URL】

https://github.com/mikel/mail#readme

Non US-ASCII detected and no charset defined. Defaulting to UTF-8, set your own if this is incorrect.

Ruby Mail で TLS を切る
関連記事

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2014/03/20(木) 17:14:21|
  2. 備忘録
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<Rubyでcertificate verify failed (OpenSSL::SSL::SSLError)エラーの対処法 | ホーム | Rubyのif,else,switch,for 配列と連想配列、コメントの書き方>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://symfoware.blog68.fc2.com/tb.php/1355-48385bc9
この記事にトラックバックする(FC2ブログユーザー)