This is the process used to import a csv that was sent to a gmail address using feeds and mailhandler. Everything is on Drupal 7
This is a rough approximation of what I did. Some things need some polishing e.g. I set it up to import even if it isn't authorized on the file import. I need to secure that.
- Install PHP IMAP library (On your server)
- First install Mailhandler
- Install Feeds
- Install Attachment Links
- Create the Gmail account you will be importing from.
- Enable POP in Gmail ( I Also set it to archive messages once they were downloaded to prevent multiple imports.
- Enable the modules you installed on the site.
- Create the content type you are trying to import.
- Create a file holder content type to hold the csv you are importing from. On the content type edit page there is a new vertical tab for attachment links, enable it for the file field. I set it hold one fiel and used the file widget.
- Structure > Mailhandler Mailboxes
- + Add
- There is a bug currenlty when it tries to use ajax to test the settings. Fill out the domain and password last, you may have to save it and come back in a couple times. Before clicking save always click elsewhere on the page to initiate the ajax call and wait for it to complete or it won't save the settings.
- For Gmail use pop as the protocol
- Domain should be pop.gmail.com
- port should be 995
- Username is full email
- Pass is stored in plaintext so use a throwaway account if possible
- Extra commands must be /ssl/novalidate-cert
- Create a feeds importer for grabbing the file.
- Settings Standalone Form
- Every day
- Fetcher
- Mailhandler fetcher
- Settings
- All
- Parser
- Mailhandler IMAP stream parser
- Settings
- Default
- Processor
- Node processor
- Settings
- Bundle > Content type to hold the file
- Update existing nodes
- User for importing
- Authorize
- Expire Never
- Mapping
- Reply-to > title used as unique
- attachments > file field
- Feeds import form for file importer
- Choose the mailbox you set up previously
- Uncheck the Skip messages that fail authentication
- Import
- Create importer to process the csv
- Use typical settings and mappigs to suit your needs
- Use the http fetcher
- Use the CSV parser
- Visit the node created by the file field generator and grab the newest file link [nid/attachments/newest]
- Go to the http importer
- Put the url from above in the url and import