I did the same thing in Ruby. Python3: Send mail with Starttls I tried it on hi-ho.ne.jp.
Library installation
sudo gem install mail
hi-ho.rb
#! /usr/bin/ruby
# -*- encoding: utf-8 -*-
#
#	hi-ho.rb
#
#					Jul/08/2020
#
# ---------------------------------------------------------------------
require "mail"
require "dotenv"
STDERR.puts	"***start***"
Dotenv.load
server = ENV['SERVER']
port = ENV['PORT']
usr = ENV['USR']
password = ENV['PASSWORD']
from = ENV['FROM']
to = ENV['TO']
#
puts server
puts port
str_out = "Good Morning\n"
str_out += "Hello.\n"
str_out += "Jul/08/2020\n"
str_out += "PM 15:58\n"
mail = Mail.new do
  from    from
  to      to
  subject "Hello from Hi-ho PM 15:58"
  content_type 'text/plain; charset=UTF-8'
  body    str_out
end
mail.delivery_method(:smtp,
  address:        server,
  port:           port,
  authentication: :login,
  us
er_name:      usr,
  password:       password
)
mail.deliver
STDERR.puts	"***End***"
# ---------------------------------------------------------------------
.env
SERVER = 'hi-ho.mose-mail.jp'
PORT = 587
USR = '****@hi-ho.ne.jp'
PASSWORD = '****'
FROM = '****@hi-ho.ne.jp'
TO = '[email protected]'
Execution result
$ ./hi-ho.rb 
***start***
hi-ho.mose-mail.jp
587
***End***
I confirmed it in the next version.
$ ruby --version
ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux-gnu]
Recommended Posts