Hi all,
I'm trying to send email with a Ruby script, but my proof of concept isn't working. I can telnet to the mail server and send mail that way, but this script causes the mail server to raise an error: 501 5.5.4 Invalid Address
#!/usr/bin/ruby
require 'net/smtp'
def send_email(to, subject = "", body = "")
from = "[email protected]"
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 "[email protected]", "test", "blah blah blah"
In my actual script, [email protected]
is a valid email. 192.168.10.213
is the mail server and 192.168.0.218
is my local ip. Note that I'm running windows xp, and the mail server is an exchange server.
I don't understand why telnet works with the same values, but this script raises the invalid address error.
Can somebody help me?
EDIT: The above code now works fine, I originally left out the commas in the final method call. I feel like an idiot.