mikel/mail — pull request #720 by kjg (2014-06-04 02:02:28+00:00)
Title: Using Mail::Field.new can strip out content that looks like the field name

:construction:

I need some advice here. I have this failing spec, but I'm not sure how to go about making it pass.

The issue is when calling `Mail::Field.new('Subject: subject: for your approval')` @name and @value are [parsed out](https://github.com/mikel/mail/blob/ed9edf5a8db32537a90ff77317e377a8b5916225/lib/mail/field.rb#L140) to "Subject:" and "subject: for your approval" respectively.

Later the @field is [set by calling](https://github.com/mikel/mail/blob/ed9edf5a8db32537a90ff77317e377a8b5916225/lib/mail/field.rb#L239) `Mail::SubjectField.new("subject: for your approval", charset)`

SubjectField then does its initialization and [calls strip_field](https://github.com/mikel/mail/blob/ed9edf5a8db32537a90ff77317e377a8b5916225/lib/mail/fields/subject_field.rb#L12) on "subject: for your approval". Since "subject: " looks like the name of the subject field, it gets stripped out, and thus ultimately the subject value gets set incorrectly.

I tried having the `new_field` method of Mail::Field add back in the field_name before passing it to the specific field type class, but that breaks other functionality.

Any advice as to the best set of changes I can make to fix this behavior?