diff --git a/action.yml b/action.yml index b4614a5b..9feaa823 100644 --- a/action.yml +++ b/action.yml @@ -29,6 +29,10 @@ inputs: from: description: Full name of mail sender required: true + content_type: + description: Content-Type HTTP header (MIME type) + required: false + default: text/plain runs: using: docker image: Dockerfile diff --git a/main.rb b/main.rb index 7c0f3c13..acf92fad 100755 --- a/main.rb +++ b/main.rb @@ -4,14 +4,15 @@ require 'net/smtp' # Inputs -address = ENV['INPUT_SERVER_ADDRESS'] -port = ENV['INPUT_SERVER_PORT'] +server_address = ENV['INPUT_SERVER_ADDRESS'] +server_port = ENV['INPUT_SERVER_PORT'] username = ENV['INPUT_USERNAME'] password = ENV['INPUT_PASSWORD'] subject = ENV['INPUT_SUBJECT'] body = ENV['INPUT_BODY'] to = ENV['INPUT_TO'] from = ENV['INPUT_FROM'] +content_type = ENV['INPUT_CONTENT_TYPE'] || 'text/plain' # Body prefix = 'file://' @@ -24,6 +25,7 @@ body = if body.start_with?(prefix) # Message message = <<~END_OF_MESSAGE + Content-Type: #{content_type}; charset=utf-8 Subject: #{subject} From: #{from} <#{username}> @@ -32,9 +34,9 @@ END_OF_MESSAGE # Send begin - smtp = Net::SMTP.new(address, port.to_i) + smtp = Net::SMTP.new(server_address, server_port.to_i) smtp.enable_tls - smtp.start(address, username, password, :login) + smtp.start(server_address, username, password, :login) smtp.send_message(message, username, to.split(',')) rescue StandardError => e puts "Error: #{e.message}"