質問: Net::SMTP.new("smtp.sendgrid.net", 587) a.enable_starttls a.start('loalhost'){|smtp| smtp.authenticate("sendgridのユーザー","sendgridのパスワード") smtp.send_message(<<-EndOfMail, '送信元アドレス', '送信先アドレス') From: Your Name To: Dest Address Subject: test mail Date: Sat, 23 Jun 2019 18:20:50 +0900 Message-Id: ここにダウンロードリンクを貼りたい This is a test mail. EndOfMail } ``` 上記のコードでメールを送れます。 以下が送りたいファイル(This is sample mail.という文字列が入っているだけのファイル) ``` This is sample mail. ``` ファイルを載せたいときどのようにすればいいのでしょうか? Net/SMTP ファイルを転送するためのメソッドが用意されているのかと思ったのですが 見た限りなかったです。。。 ``` File.open("sample","r") ``` ファイルを扱うのだから 上記のようなものを使うと思ったのですが やはりわからないです。 分からないので参考になるリンクまたは説明をお願いします。 追記 ``` ruby -v > ruby 2.4.5p335 (2018-10-18 revision 65137) [x64-mingw32] ``` メールに「ファイルの添付」をしたくて質問をしました。
回答: ちょっと意図が読みづらいですが、両方書いておきます。 ※ FileをOpenしようとしているので前者ではないと思っていますが、タイトルは前者なので判断が難しいです ダウンロードリンクを貼りたい場合 `ここにダウンロードリンクを貼りたい` と書いてあるところにダウンロード用のURLを書けば良いです。 ファイルをメールに添付したい場合 Mailライブラリを使うことをまず検討すると良いと思います。 以下の記事が参考になるかと思います。 第7回 RubyでのメールはMailライブラリにおまかせ!