4

Rails アプリケーションが Gmail アカウントからメールを受信できるようにしようとしています。私は次のスクリーンキャストに従います: Mailman で電子メールを受信する

Gmail アカウントからメールのポーリングを試みたので、誰かがメールを送信するたびに、アプリがメッセージを受信し、それに応じてこのメッセージでデータベースを更新しました。

しかし、「script/mailman_serve」を実行してサーバーとポーリングを開始しようとすると、次のようなエラーが発生しました。

olins-MacBook-Pro:rentlord Ryzal$ script/mailman_server
I, [2016-02-26T02:07:58.104774 #23700]  INFO -- : Mailman v0.7.3 started
I, [2016-02-26T02:07:58.105083 #23700]  INFO -- : Rails root found in ., requiring environment...
/Users/Ryzal/Desktop/Sites/rentlord/config/application.rb:59: warning: already initialized constant OpenSSL::SSL::VERIFY_PEER
I, [2016-02-26T02:08:07.225640 #23700]  INFO -- : POP3 receiver enabled (@pop.gmail.com).
I, [2016-02-26T02:08:07.266177 #23700]  INFO -- : Polling enabled. Checking every 60 seconds.
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/pop.rb:1005:in `check_response_auth': -ERR USER _who_? k19mb6670915wjq (Net::POPAuthenticationError)
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/pop.rb:905:in `block in auth'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/pop.rb:1012:in `critical'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/pop.rb:904:in `auth'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/pop.rb:566:in `do_start'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/pop.rb:536:in `start'
    from /Library/Ruby/Gems/2.0.0/gems/mailman-0.7.3/lib/mailman/receiver/pop3.rb:36:in `connect'
    from /Library/Ruby/Gems/2.0.0/gems/mailman-0.7.3/lib/mailman/application.rb:139:in `block in polling_loop'
    from /Library/Ruby/Gems/2.0.0/gems/mailman-0.7.3/lib/mailman/application.rb:137:in `loop'
    from /Library/Ruby/Gems/2.0.0/gems/mailman-0.7.3/lib/mailman/application.rb:137:in `polling_loop'
    from /Library/Ruby/Gems/2.0.0/gems/mailman-0.7.3/lib/mailman/application.rb:87:in `run'
    from /Library/Ruby/Gems/2.0.0/gems/mailman-0.7.3/lib/mailman/application.rb:15:in `run'
    from script/mailman_server:25:in `<main>'

そして、これは私の mailman_server ファイルです:

#!/usr/bin/env ruby
require "rubygems"
require "bundler/setup"
require "mailman"

#Mailman.config.logger = Logger.new("log/mailman.log")

Mailman.config.pop3 = {
  server: 'pop.gmail.com', port: 995, ssl: true,
  username: ENV["xxxxxx@gmail.com"],
  password: ENV["xxxxxx"]
}

Mailman::Application.run do
  default do
    begin
      Post.receive_mail(message)
    rescue Exception => e
      Mailman.logger.error "Exception occurred while receiving message:\n#{message}"
      Mailman.logger.error [e, *e.backtrace].join("\n")
    end
  end
end

誰か助けてくれませんか?ありがとう!

########################### アップデート ###################### ####

Gmail アカウントで POP 設定も有効にしていますが、それでも同じエラーが発生します。これは私のPOP設定です:

ここに画像の説明を入力

4

2 に答える 2

2

これに対するプログラミング ソリューションはまだありませんが、これは Google の "新しい" (2014) セキュリティ ポリシーです。この Google の記事を参照してください。

https://support.google.com/accounts/answer/6010255?hl=ja

于 2016-02-26T18:23:06.037 に答える