class Mail::Message

def []=(name, value)

mail['foo'].to_s #=> '1234'
mail['foo'] = '1234'

Example:

Allows you to add an arbitrary header
def []=(name, value)
  if name.to_s == 'body'
    self.body = value
  elsif name.to_s =~ /content[-_]type/i
    header[name] = value
  elsif name.to_s == 'charset'
    self.charset = value
  else
    header[name] = value
  end
end