Envío de correo electrónico con un script Ruby - 501 5.5.4 Dirección no válida

StackOverflow https://stackoverflow.com/questions/1200882

  •  05-07-2019
  •  | 
  •  

Pregunta

Estoy tratando de enviar un correo electrónico con un script de Ruby, pero mi prueba de concepto no funciona. Puedo telnet al servidor de correo y enviar correo de esa manera, pero esta secuencia de comandos hace que el servidor de correo genere un error: 501 5.5.4 Dirección no válida

#!/usr/bin/ruby

require 'net/smtp'

def send_email(to, subject = "", body = "")
    from = "my@email.com"
    body= "From: #{from}\r\nTo: #{to}\r\nSubject: #{subject}\r\n\r\n#{body}\r\n"

    Net::SMTP.start('192.168.10.213', 25, '192.168.0.218') do |smtp|
        smtp.send_message body, from, to
    end
end

send_email "my@email.com", "test", "blah blah blah"

En mi script real, my@email.com es un correo electrónico válido. 192.168.10.213 es el servidor de correo y 192.168.0.218 es mi ip local. Tenga en cuenta que estoy ejecutando Windows XP, y el servidor de correo es un servidor de intercambio.

No entiendo por qué telnet funciona con los mismos valores, pero este script genera un error de dirección no válida.

¿Alguien puede ayudarme?

EDITAR : el código anterior ahora funciona bien, originalmente omití las comas en la llamada al método final. Me siento como un idiota.

¿Fue útil?

Solución 3

¿Puedes creerlo? Me siento como un idiota, solo me faltan comas en la llamada al método ...

send_email " my@email.com" ;, " test " ;, " blah blah blah "

Estoy avergonzado.

De todos modos, el código anterior funciona muy bien si alguien está interesado. Simplemente no omita las comas como lo hice yo.

Otros consejos

Asegúrese de que su dirección de correo electrónico real no contenga caracteres no válidos. Por ejemplo, consulte esta pregunta .

Recomiendo Action Mailer para enviar correos con Ruby. Vea un fragmento aquí .

Hay un error en su código. Un usuario malintencionado podría insertar más encabezados en su correo electrónico utilizando nuevas líneas en el asunto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top