1. ホーム
  2. ruby-on-rails

[解決済み] Rails ActionMailer - 送信者名と受信者名/メールアドレスの書式設定

2022-05-17 01:30:02

質問

ActionMailerを使用する際に、送信者と受信者の情報に電子メールと名前を指定する方法はありますか?

一般的にはそうします。

@recipients   = "#{user.email}"
@from         = "[email protected]"
@subject      = "Hi"
@content_type = "text/html"

しかし、名前も指定したい--。 MyCompany <[email protected]> , John Doe <john.doe@mycompany> .

という方法はないのでしょうか?

どのように解決するのですか?

名前と電子メールを入力する場合、名前と電子メールを慎重に検証するかエスケープしない限り、文字列を連結するだけで無効なFromヘッダが作成される可能性があります。ここでは、安全な方法を紹介します。

require 'mail'
address = Mail::Address.new email # ex: "[email protected]"
address.display_name = name.dup   # ex: "John Doe"
# Set the From or Reply-To header to the following:
address.format # returns "John Doe <[email protected]>"