ruby - mail - sendgrid smtp rails
No se puede hacer que ActionMailer funcione con MS Exchange a través de SMTP (3)
Aquí está mi programa de prueba simple (usando ActionMailer 3.0.8, Ruby 1.9.2p180 Mac OS X):
require ''rubygems''
require ''action_mailer''
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
:address => "my_exchange_server",
:port => 25,
:domain => ''my_domain.org'',
:authentication => :login,
:user_name => ''my_user'',
:password => ''my_password'',
:enable_starttls_auto => false
}
ActionMailer::Base.raise_delivery_errors = true
ActionMailer::Base.perform_deliveries = true
ActionMailer::Base.default :from => ''from_email@my_company.com''
m = ActionMailer::Base.mail :to => ''to_email@my_company.com'', :subject => ''this is a test'', :body => ''this is a test''
m.deliver
Probando varios tipos de autenticación obtengo los siguientes errores:
: error simple:
smtp.rb:966:in `check_auth_response'': 504 5.7.4 Unrecognized authentication type. (Net::SMTPAuthenticationError)
:error de inicio de sesión:
smtp.rb:972:in `check_auth_continue'': 504 5.7.4 Unrecognized authentication type. (Net::SMTPSyntaxError)
: error cram_md5:
smtp.rb:972:in `check_auth_continue'': 504 5.7.4 Unrecognized authentication type. (Net::SMTPSyntaxError)
Sin error de autenticación:
protocol.rb:135:in `read_nonblock'': end of file reached (EOFError)
¿Algunas ideas?
tenía problemas de red similares. utilice el siguiente código en irb
para obtener información de depuración directamente en la consola.
require ''net/smtp''
smtp = Net::SMTP.new(''ip_or_dns_address'', port)
smtp.debug_output = $stdout
smtp.enable_starttls_auto#skip if not needed
smtp.start("domain", "user", "password", auth_type)
nunca realmente descubrió cuál era el problema. movieron el servidor de intercambio y el servidor de producción dejó de enviar correos electrónicos. No soy realmente un técnico de TI, pero había diferentes registros de depuración dependiendo de qué parte de la red estaba. finalmente "resolvió" el problema enviando un correo electrónico no autenticado ...
Puede conectarse al servidor SMTP y consultar los métodos de autenticación compatibles:
telnet smtp.server.net 25
EHLO
El servidor debe responder con al menos una línea que comience con 250-AUTH
. Después de eso, se enumeran los métodos de autenticación compatibles. Lo más probable es que el servidor de Exchange solo admita la autenticación a través de GSSAPI o NTLM. En este último caso, es posible que pueda hacer que funcione con la gema ruby-ntlm y el método de autenticación ntlm
. (Ver http://www.breckenedge.com/configuration-of-ruby-on-rails-actionmailer-for-microsoft-exchange-smtp )
Verificar qué esquemas de autenticación están habilitados
Podría ser: none, plain, login, cram_md5, NTLM, StartTLS
- Uso de Telnet para conectarse a buzones POP3 de Exchange 2003 y uso de SMTP para enviar correos electrónicos con fines de resolución de problemas
- http://www.msexchange.org/tutorials/telnet-exchange2003-pop3-smtp-troubleshooting.html
- Desplácese hacia abajo hasta: Conectar a SMTP
- ¿Qué devolvió EHLO ?
- "
250-AUTH LOGIN
" o "250-AUTH=LOGIN
" indican que necesita autenticarse. - "
250-AUTH
" (¡sin seguir nada más en esa línea!) Parece indicar que NO debes autenticarte . De lo contrario, obtendrá el error:- "504 5.7.4 Tipo de autenticación no reconocida"
- "
- http://www.msexchange.org/tutorials/telnet-exchange2003-pop3-smtp-troubleshooting.html
Cómo acceder correctamente a Exchange
Buenos recursos que deberían ayudarlo a comprenderlo y solucionarlo.
- El verbo EHLO y las extensiones SMTP
- El comando AUTH
- Cómo usar Telnet para enviar correo electrónico SMTP a Exchange 2007 y 2010
- Usar telnet para probar el relevo autenticado en Exchange
Cómo podría cambiar Exchange para solucionar el problema
(en lugar de cambiar la forma de acceder a Exchange)
- Cómo habilitar el inicio de sesión de autenticación en el intercambio de servidor smtp 2010
- Cómo habilitar la autentificación de "autenticación de autenticación" en Exchange
- Error al establecer la conexión SMTP, Error: 504 5.7.4 Tipo de autenticación no reconocida
- (cómo cambiar la configuración de Exchange 2010 para " aceptar correo de un producto de terceros " como lo menciona Anil K Singh )
Espectro de Redmine
Útil para Ruby on Rails
- Cómo configurar Redmine para enviar correo al servidor de MS Exchange
- http://www.redmine.org/projects/redmine/wiki/HowTo_configure_Redmine_to_mail_to_MS_Exchange_server
- "MS Exchange no requerirá información de autenticación para el correo electrónico saliente (SMTP)"
- Mi archivo de configuración todavía está en config / email.yml (en Redmine 1.2)
- http://www.redmine.org/projects/redmine/wiki/HowTo_configure_Redmine_to_mail_to_MS_Exchange_server
- Consejos útiles para la resolución de problemas del código de Ruby on Rails
- Cómo usar ruby-ntlm en caso de que Exchange requiera NTLM
- Cómo usar la opción TLS