Dan Zwell
9/14/2007 10:08:00 AM
Michael Linfield wrote:
> Ive tried several examples from numerous books trying to send mail with
> net smtp and i never really get the emails.
>
> require 'net/smtp'
>
> message = <<MESSAGE_END
> From: Nobody <nobody@power.net>
> To: Someone <someone@hotmail.com>
> Subject: Test SMTP
>
> i pray that itll work
> MESSAGE_END
>
> Net::SMTP.start('mx1.hotmail.com') do |smtp|
> smtp.send_message message, 'nobody@power.net', 'someone@hotmail.com'
> end
>
> #####
> This was one example, i receive no errors indicating a problem but when
> checking my email IE: someone@hotmail.com i dont have it in any
> folders, not inbox or junkmail.
>
> Another version that i modified to fit my own needs was this ----
>
> require 'net/smtp'
>
> puts "Sender: "
> sender = gets.chomp
> puts "Recipient: "
> rcpt = gets.chomp
> puts "Message: "
> msg = gets.chomp
>
> smtp = Net::SMTP.new('mx1.hotmail.com')
>
> smtp.start()
>
> smtp.ready(sender, rcpt) do |mail|
>
> mail.write msg
>
> end
>
> #########
> once again no errors
>
> any ideas why i might not be getting the emails?
Does hotmail even allow SMTP usage? I noticed you were trying to connect
to the server mx1.hotmail.com. Try this with a GMail account or other
account, it should work. The following is part of a script that worked
for me, though I haven't tested it in 6 months. Ruby 1.8 doesn't support
TLS, so I had to require a file "smtp_tls.rb" that you can find on the
web. You won't need it if your server doesn't require TLS.
#!/usr/bin/env ruby
require 'net/smtp'
require 'smtp_tls'
myMessage = <<END_OF_MESSAGE
From: XXXXXXX <your_address@gmail.com>
To: XXXXXX <someone@example.com>
Subject: XXXXX XXXXXX
This e-mail is a test.
END_OF_MESSAGE
Net::SMTP.start('smtp.gmail.com', 587, 'localhost.localdomain',
username, password, :login) do |smtp|
smtp.send_message(myMessage, 'your_address@gmail.com',
['someone@example.com']);
end
__END__
Good luck,
Dan