2014-09-29 5 views
0

Итак, в одном из моих проектов есть SMTP-сервер, который был настроен для использования без какой-либо проверки подлинности. Вот моя настройка SMTP на config/environments/production.rb.Rails ActionMailer Отправить электронную почту без аутентификации

config.action_mailer.asset_host = 'http://example.com' 
config.action_mailer.default_url_options = { host: 'example.com' } 
config.action_mailer.delivery_method = :smtp 
config.action_mailer.raise_delivery_errors = true 
config.action_mailer.smtp_settings = { 
    address:    'mail.example.com', 
    port:    587, 
    domain:    'info.example.com', 
    user_name:   '[email protected]', 
    password:    '', 
    openssl_verify_mode: 'none', 
    authentication:  nil, 
    tls:     false, 
    enable_starttls_auto: false 
} 

Я хотя режим authentication должен быть установлен в nil, но, когда я пытался отправить электронную почту, он дал мне эту ошибку.

2.0.0-p481 :001 > CustomerMailer.test.deliver 
Net::SMTPAuthenticationError: 503 5.5.1 Error: authentication not enabled 

Любое решение, ребята?

ответ

3

Вы указываете данные аутентификации. Следовательно, ActionMailer будет использовать их.

Решение: Не надо.

config.action_mailer.smtp_settings = { 
    address: 'mail.example.com', 
    port: 587, 
    domain: 'info.example.com' 
} 

(Параметр domain сам может быть ненужным в зависимости от конфигурации сервера.)

+0

Он дал мне 'ArgumentError: SMTP-AUTH запрошено, но отсутствует секрет ошибки phrase'. –

+0

Хорошо. Он работает сейчас. Спасибо вам. :) –

Смежные вопросы