smtp4devでダミーのSMTPサーバー(localhost)にメールを送りたいです。
SMTP-AUTH認証なしのパターンならいけました。
ruby
1require 'net/smtp' 2a = Net::SMTP.new("localhost",50001) 3a.start('localhost') {|smtp| 4 smtp.send_message(<<-EndOfMail, 'from@example.com', 'to@example.net') 5 From: Your Name <from@example.com> 6 To: Dest Address <to@example.net> 7 Subject: test mail 8 Date: Sat, 23 Jun 2001 16:26:43 +0900 9 Message-Id: <unique.message.id.string@yourhost.example.com> 10 11 This is a test mail. 12 EndOfMail 13} 14
問題はAMTP AUTH認証の時
・・・設定
option>serverの中の
・require authenticate にチェック
・password に文字列password(このSMTPのパスワードがpassword)をセット。
ruby
1require 'net/smtp' 2a = Net::SMTP.new("localhost",50001) 3a.start('localhost',50001,'localhost',nil,"password") {|smtp| 4 smtp.send_message(<<-EndOfMail, 'from@example.com', 'to@example.net') 5 From: Your Name <from@example.com> 6 To: Dest Address <to@example.net> 7 Subject: test mail 8 Date: Sat, 23 Jun 2001 16:26:43 +0900 9 Message-Id: <unique.message.id.string@yourhost.example.com> 10 11 This is a test mail. 12 EndOfMail 13} 14
実行結果
cmd
1C:\Users\matsu\Desktop\ruby_lesson>ruby sample.rb 2C:/Ruby24-x64/lib/ruby/2.4.0/net/smtp.rb:514:in `start': wrong number of arguments (given 5, expected 0..4) (ArgumentError) 3 from sample.rb:3:in `<main>' 4 5C:\Users\matsu\Desktop\ruby_lesson>ruby sample.rb 6C:/Ruby24-x64/lib/ruby/2.4.0/net/smtp.rb:514:in `start': wrong number of arguments (given 5, expected 0..4) (ArgumentError) 7 from sample.rb:3:in `<main>' 8
引数の数が間違えていると言われてしまいます。
リファレンス startメソッド
どうやれば無事認証できるでしょうか?
startメソッドの時に認証をするための引数を与えて認証する方法と、
startの時に認証情報を与えずあとから
authenticateなどのメソッドで指定する方法があります。
あと、上記のコードではユーザーの部分をnilを指定していますが
smtp4devではユーザーの名前を指定するようなところがないので
nilとしたのですがこれがいけないのでしょうか?
分からないので参考になるリンクまたは説明をお願いします。
ruby
1require 'net/smtp' 2a = Net::SMTP.new("localhost",50001) 3smtp = a.start('localhost',"a","password") 4 smtp.send_message(<<-EndOfMail, 'from@example.com', 'to@example.net') 5 From: Your Name <from@example.com> 6 To: Dest Address <to@example.net> 7 Subject: test mail 8 Date: Sat, 23 Jun 2001 16:26:43 +0900 9 Message-Id: <unique.message.id.string@yourhost.example.com> 10 11 This is a test mail. 12 EndOfMail

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/08 08:37
2019/08/08 08:44
2019/08/08 08:46
2019/08/08 08:49
2019/08/08 08:50
2019/08/08 09:09
2019/08/08 09:11
2019/08/08 12:04
2019/08/08 14:37