summaryrefslogtreecommitdiff
path: root/mail.rb
diff options
context:
space:
mode:
Diffstat (limited to 'mail.rb')
-rwxr-xr-xmail.rb38
1 files changed, 38 insertions, 0 deletions
diff --git a/mail.rb b/mail.rb
new file mode 100755
index 0000000..dc983c2
--- /dev/null
+++ b/mail.rb
@@ -0,0 +1,38 @@
+#!/usr/bin/env ruby
+
+mailfile = if ARGV[1] and ARGV[1] == 'publish'
+ File.join(__dir__, 'mail', 'emails')
+ else
+ File.join(__dir__, 'mail', 'testmail')
+ end
+
+Dir.chdir ARGV[0]
+date, title = File.basename(ARGV[0]).split('_', 2)
+content = ["From: info@pdp8.info
+Subject: [pdp8] #{title.gsub('_', ' ')}
+Content-Type: text/plain
+List-Unsubscribe: <mailto: info@pdp8.info?subject=unsubscribe>"]
+content << ''
+content << File.read('README')
+content << ''
+content << "https://pdp8.info/music.html\##{date}"
+bc = if File.exist?('bandcamp')
+ File.read('bandcamp').chomp
+ else
+ "https://pdp8.bandcamp.com/album/#{title.gsub(' ', '-')}"
+ end
+content << bc
+content << ''
+content << '=='
+content << 'List-Unsubscribe: <mailto: info@pdp8.info?subject=unsubscribe>'
+File.open('/tmp/mail.txt', 'w+') { |f| f.puts content.join("\n") }
+# system 'hx /tmp/mail.txt'
+content = File.read('/tmp/mail.txt')
+
+File.open(mailfile).each_line do |mail|
+ mail.chomp!
+ txt = "To: #{mail}\n" + content
+ cmd = "echo -e \"#{txt}\" | sendmail #{mail}"
+ # puts cmd
+ puts mail + `#{cmd}`
+end