attachments()
Instance Public methods
Allows you to add attachments to an email, like so:
1 | mail.attachments[ 'filename.jpg' ] = File .read( '/path/to/filename.jpg' ) |
If you do this, then Mail will take the file name and work out the mime type set the Content-Type, Content-Disposition, Content-Transfer-Encoding and base64 encode the contents of the attachment all for you.
You can also specify overrides if you want by passing a hash instead of a string:
1 2 | mail.attachments[ 'filename.jpg' ] = {mime_type: 'application/x-gzip' , content: File .read( '/path/to/filename.jpg' )} |
If you want to use a different encoding than Base64, you can pass an encoding in, but then it is up to you to pass in the content pre-encoded, and don't expect Mail to know how to decode this data:
1 2 3 4 | file_content = SpecialEncode( File .read( '/path/to/filename.jpg' )) mail.attachments[ 'filename.jpg' ] = {mime_type: 'application/x-gzip' , encoding: 'SpecialEncoding' , content: file_content } |
You can also search for specific attachments:
1 2 3 4 5 | # By Filename mail.attachments[ 'filename.jpg' ] # => Mail::Part object or nil # or by index mail.attachments[ 0 ] # => Mail::Part (first attachment) |
Please login to continue.