私の仕事では、特定のテスト用に電子メールの生成を自動化する必要があります。私は周りを見回してきましたが、すぐに実装できる合理的な解決策を見つけることができませんでした. いくつかの奇妙な認証ルールが設定されているため、他のメールサーバーではなく Outlook にある必要があり、メッセージを送信するだけでなく、下書きを保存するオプションが必要です。
どうやら win32ole がこれを行うことができますが、合理的に単純な例が見つかりません。
Outlook 資格情報が保存されていて、Outlook に自動ログインするように設定されていると仮定すると、WIN32OLE は非常にうまく機能します。
require 'win32ole'
outlook = WIN32OLE.new('Outlook.Application')
message = outlook.CreateItem(0)
message.Subject = "Hey look a subject!"
message.Body = "Yes this is dog"
message.Recipients.Add 'dog@dog.com'
message.Recipients.Add 'cat@dog.com'
message.Attachments.Add('C:\Path\To\File.txt')
#Want to save as a draft?
message.Save
#Want to send instead?
message.Send
これは、Rubyを使用してウィンドウの残りの部分を自動化する場合と同様に、「 Ruby を使用して Outlook を自動化する: メール メッセージをファイルに保存する」で実際に十分に文書化されています。
認証の問題が発生している可能性があります。この問題が発生した場合は、" Advanced Security for Outlook " を使用して解決できます。