telnet mail.albertafilmworks.com 25
doing this will verify the mail server is accessible
(you should see a one-line message saying something about which
mail service is available).
then you just need to figure out what the remaining authentication
parameters are, if no other way but trail and error if your ISP
isn’t helping.
here’s another email test script:
#!/bin/env ruby
This is used to send email.
require ‘net/smtp’
# Helper method.
# Append _appendage_ to end of string if it already doesn't exist
# at the end of the string.
class String #:nodoc:
def appendIfMissing(appendage)
return self if appendage.nil? || appendage.size < 1
return appendage if size < 1
if self[-appendage.size..-1] == appendage
self
else
self + appendage
end
end
end
class String #:nodoc:
def blank?
empty? || strip.empty?
end
end
# Print an error message.
def err(msg, printRubyErr=false, fatal=true) #:nodoc:
STDERR.print "\n### ERROR: #{msg}\n\n"
STDERR.print "\n#{$!}\n\n" if printRubyErr
exit if fatal
"### ERROR: #{msg}\n#{$!}\n"
end
# simple check of email address.
def checkMailAddress(address, descr) #:nodoc:
address.strip!
addr = address[/<?\w+@\w+\.\w+>?$/]
if addr.blank?
err(descr,false,false)
return nil
end
addr
end
# Send email.
def mail( od )
# The email is composed of the 'From', 'To', and 'Subject' fields,
followed by the body text.
# Strip off leading white space.
(msgstr = <<END_OF_MAIL_MESSAGE).gsub!(/^\s+/, ‘’)
From: #{od[‘-=’]}
To: #{od[‘-t’]}
Subject: #{od[‘-j’].blank? ? ‘No Subject’ : od[‘-j’]}
END_OF_MAIL_MESSAGE
msgstr += od['-b']
return if (addr_from = checkMailAddress(od['-='], "no 'From' address
(#{od[‘-=’]})") ).nil?
return if (addr_to = checkMailAddress(od[‘-t’], “no ‘To’ address
(#{od[‘-t’]})”) ).nil?
# The email is actually sent here.
begin
Net::SMTP.start(od['-m'], 25, od['-n'], od['-S'], od['-P'], :login) {
|smtp|
smtp.send_message msgstr, addr_from, addr_to
}
puts "-- mail sent to #{addr_to}" if od['-V']
rescue Exception => ex
err("unable to send mail.\n#{msgstr}\n#{$!}\naddr
from:#{addr_from}\naddr to:#{addr_to}", true)
end
end # mail
od = { '-=' => 'My Long Name<[email protected]>', # mail from
'-t' => 'My Long Name<[email protected]>', # mail to
'-j' => 'This is a test', # mail subject
'-b' => 'Body text of the email.', # mail body text
'-m' => 'smtp.XXX.net', # mail server
'-n' => 'www.XXX.net', # domain sending mail from
'-S' => 'mailusername', # mail user name
'-P' => 'super_secret_password', # mail password
'-V' => true }
mail od