# Reading an email from an mbox file and resending to a differ

**URL:** <https://www.ruby-forum.com/t/reading-an-email-from-an-mbox-file-and-resending-to-a-differ/110683>\
**Category:** Rails\
**Created:** [July 29, 2007, 4:25pm UTC](https://www.ruby-forum.com/t/reading-an-email-from-an-mbox-file-and-resending-to-a-differ/110683 "2007-07-29T16:25:35Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![jballanc](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/97f17d/32.png) [@jballanc](https://www.ruby-forum.com/u/jballanc)\
**Post date:** [July 29, 2007, 4:25pm UTC](https://www.ruby-forum.com/t/reading-an-email-from-an-mbox-file-and-resending-to-a-differ/110683/1 "2007-07-29T16:25:35Z")

</div>

Greetings,

I’m trying to emulate the “Redirect” function of some email clients  
but am not having much success. I am sending messages with  
ActionMailer templates just fine so I’m pretty sure my environment is  
set up correctly and that my mail server is accepting the messages to  
relay.

I am reading messages out of an mbox file and parsing them into RMail  
objects with RMail::Parser.read(). Then I’m storing some info about  
the message as well as storing the a text version of the RMail object  
in a field as the “raw” message (I get the text version of RMail using  
to\_s() )

At a different point in the program, I want to “resend” or “redirect”  
the message to an external email address - but I want it to appear in  
their mailbox unmodified from the original.

I thought the easiest way to do this would be to use Net::SMTP.start()  
and pass it the “raw” message as well the from/to address for the SMTP  
transaction (which shouldn’t affect the RFC822 headers in the original  
message being delivered). I realized along the way that I need to  
delete the first line from the mbox file that contains the From and  
Date.

When I try this with simple text emails it seems to work. But when I  
try to attach MIME emails it seems to get confused and creates a new  
set of RFC822 headers and puts the entire MIME message (including its  
RFC822 headers) into the body of the new message that is sent.

```
  smtp.send_message raw_mail, "removed_email_address@domain.invalid", "removed_email_address@domain.invalid"

```

Any pointers? Is there an easier way to resend a raw RFC822 message  
than Net::SMTP.start() ? Any idea what could be wrong with my message  
formatting?

Thanks!

~Josh

* * *

Here is a sample of the “raw” output of a message (truncated)

Return-Path: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\nX-Original-To: removed\_email\_address@domain.invalid  
\nDelivered-To: removed\_email\_address@domain.invalid\nReceived: from [ms-smtp-04.xxx.rr.com](http://ms-smtp-04.xxx.rr.com)  
([ms-smtp-04.xxx.rr.com](http://ms-smtp-04.xxx.rr.com) [xx.xx.47.43])\n\tby [mail.xxx.com](http://mail.xxx.com) (Postfix)  
with ESMTP id 15CE495A92\n\tfor [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid); Sat, 14 Jul 2007  
12:37:18 -0500 (CDT)\nReceived: from [10.0.1.5] (cpe-  
[xxx-157-199.xxx.xxx.rr.com](http://xxx-157-199.xxx.xxx.rr.com) [xx.xx.157.199])\n\tby ms-  
[smtp-04.xxx.rr.com](http://smtp-04.xxx.rr.com) (8.13.6/8.13.6) with ESMTP id l6EHbCjV027495\n\tfor  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid); Sat, 14 Jul 2007 12:37:13 -0500 (CDT)\nResent-  
Message-Id: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\nMime-  
Version: 1.0 (Apple Message framework v752.2)\nContent-Type: multipart/  
alternative; boundary=Apple-Mail-17–30998656\nResent-Date: Sat, 14  
Jul 2007 12:37:11 -0500\nMessage-Id:  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\nResent-To:  
removed\_email\_address@domain.invalid\nFrom: Stanford Technology Ventures Program  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\nSubject: Educators Corner highlights -  
July edition\nResent-From: Joshua B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\nDate: Wed, 11  
Jul 2007 04:35:13 -0700 (PDT)\nTo: Joshua B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\nX-  
Mailer: Apple Mail (2.752.2)\nX-Virus-Scanned: Symantec AntiVirus Scan  
Engine\n\n\n–Apple-Mail-17–30998656\nContent-Transfer-Encoding: 7bit  
\nContent-Type: text/plain;\n\tcharset=US-ASCII;\n\tdelsp=yes;\n  
\tformat=flowed\n\nTrouble viewing this email? View it online\n  
\nRecently Added Videos\n\nListed below are a few video clips of  
recent speakers from the \nEntrepreneurial Thought Leaders Seminar.\n  
\nIncentives for People in a Community-Based Organization\n\nMitchell  
Baker, Mozilla Corporation - 2 min. 10 sec.\nMitchell Baker, CEO of  
Mozilla, describes the richness in decision- \nmaking authority that  
one is endowed with while working in a \ncommunity-based organization  
like Mozilla. She talks about the
