Gmail is one of the most widely used web mail by people across the world. It certainly does provide amazing set of features that makes our digital life much easier. But if you had noticed it does lag some basic and useful features that most of its competitors seem to provide. For example you cannot sort your messages by date, sender, etc.
You can see number of people requesting features like these on various official Google forums. Out of the many requested features in Gmail, forwarding multiple messages at the same time is one of the most demanded. Possible solutions that are currently available for this are creating filter and setting up auto forwarding in Gmail. Another option is to use desktop email clients. Some problem with these solutions are that not always you can create such a complex filter criteria to select required emails as your needs might change dynamically. Your desktop client might not be available across different devices.
So, here is an alternate solution I came up which does not involve any third party apps. In this post we are going to see how to use Google Docs to help you forward multiple emails at once to many recipients. It works with text as well as HTML mails, even your attachments will be sent along with email body.
Below are step by step instructions on how to set it up. It will just take few seconds before things are up and running.

Forward Multiple Emails at Once in Gmail with Google Docs
1. Log-in to Google Docs.
2. Click here to make a copy of the Google Spreadsheet. Then click Yes, make a copy.
3. Once the doc has been loaded, wait for few seconds for the menu Forward to appear just next to help menu.
4. Now select Load Emails. You will be shown a big alert asking for authorization. Click OK then click Grant access. Finally press the close button.

5. Once again select load emails from the menu and wait for a while for your emails to load.

Note:
- Only your 50 most recent messages will be loaded. If you want to know how to increase the limit then let me know through the comment section below!
- When a function is still running, by default it is indicated by Google on top via running message, always wait till it disappears. Also do watch out for more descriptive status alert messages at right bottom corner.
6. Now you have to select which emails you want to be forwarded. Selection here is made by changing the cell (Subject Column) text background color to Green.
- Select the cell in subject column then change background color to green. Access the background color option by clicking white A icon on top. You can mark multiple cells which indicates those emails are to be sent.

7. Once you have made the selection enter the email id of receiver in cell B3. You can enter multiple recipients’ email ids separated by comma.
8. Finally click Forward select emails from the menu. It might take some time for all the messages to be sent.
Note: You can use Refresh email list option from the menu to refresh the list in case new emails have arrived. Use Clear canvas option to empty the sheet.
Other useful Google Apps scripts you might like:
- Get Free SMS Alerts for New and Important Emails on Gmail with Google Docs
- Use Google Docs to Get Free SMS and Email Alerts when your Website is Down
Video Demo of Google Docs in action:
So, did it work for you? Have any suggestions, queries, clarifications or found any bug feel free to drop in your comments. Hope you found it useful. Do share it with your friends. No more worry of forwarding emails one by one on Gmail!










How I can load specifics mails?
That feature is not yet available in the current version. You can only load recent emails in a batch.
pls send me the dowloaded material if anyone has scribd account
http://www.scribd.com/doc/53194495/61/Second-derivatives
Never heard of that although i really enjoy reading stuff about Emails to forward. Thanks anyways. Bye, Frank.
You are most welcome
Glad for the spreadsheet to forward multiple emails.
Definetly need the feature to load selected emails.
Please advise once you get that set up. Thanks so much !!
Sure
Hi , I would like to forward more than 50mails no only from recent but from two months back also. Can you please help me.
In that case you would need to tweak the code a bit.
Hi! Shun, this is a great script. What if i wanted to start adding all the emails to the 0ldest email first?
Hi. Thanks for the post. Really useful. Is there any way I can load emails from certain labels, instead of all emails? What changes I need to make in the code? Many thanks.
I changed it to: var threads = GmailApp.search(‘search string’);
it seems to work! I am trying to forward now, but seems like its not forwarding. Any ideas? I changed the background color to green before that.
Can you share the code you have used? I will try looking into it. Upload it online and please share the URL here.
Hey! I shared the document with you. I prefer not to make it public. If you want, you can edit and release it publicly. Not it can forward, but its getting errors after forwarding some emails.
Sure. Will look into it.
Just checked it. Code seems OK to me. What is the exact error message you are getting?
I get this error “Script getEmails experienced an error”.
May I recommend this page from Google:
https://developers.google.com/apps-script/class_gmaillabel#getThreads
I set a Label var and then got the threads of that var using this technique to forward a bunch of emails to my publisher.
I had to make the change in the document twice (line 22 & line 80) and it worked perfectly. I didn’t make any changes to line 59 because I found it after the fact. Shunmugha, can you shed any light on what that line is for how not changing it would affect my results?
It’s to ensure that no new email has received since you load the emails. In case there is mismatch it means new email has received.
All,
Michael Canejo has already shared the project Forward Multiple Gmail Emails by Label which you can make use of.
Hi, Thanks for the script , it is amazing how you can get those emails forwarded easily. I did forward aroung 50 mails to another email ID and
I also wanted to send all the remaining ones too.
I have around 1024 emails to be forwarded as I am using google apps for my website as email UI and I am shifting my domain to another one, so the account will get disabled in few days.
So please help me to get all the 1000 mails to be forwarded
Thanks in advance
Loading & forwarding that many at a go would literally hang the script. Instead send them in 50 batches. Once forwarded first 50, deleted them or move to different folder. Again run the script it will fetch the next fifty. Similarly repeat.
But if you want to tweak the code to load 1000 messages at once you are most welcome. Give it a try.
could you please let me know how to forward more than 50 emails? Thanks.
Hi, great work done!
i want to get all my mails in one spreadsheet. Please share the respective code/script.
Thanks!
Hey, i crack the code.
var threads = GmailApp.getInboxThreads(0, 50);
I will change the limit here (50 to 5000).
Great!
As I had a user that wanted to forward about 80 emails which may have already been filed out of the Inbox I wondered about the best approach. I originally though of increasing the number of emails loaded. Then I thought there is a better way. Why not load the emails under a label instead of from the Inbox.
If you make the following 3 code changes in the scrip:
// LFS change to get emails from label Forward not Inbox
// var threads = GmailApp.getInboxThreads(0, 100);
var label = GmailApp.getUserLabelByName(“Forward”);
var threads = label.getThreads();
// LFS change to get emails from label Forward not Inbox
// var threads = GmailApp.getInboxThreads(0, 1);
var label = GmailApp.getUserLabelByName(“Forward”);
var threads = label.getThreads(0, 1);
// LFS change to get emails from label Forward not Inbox
// var threads = GmailApp.getInboxThreads(0, 50);
var label = GmailApp.getUserLabelByName(“Forward”);
var threads = label.getThreads();
Then all you need to do is create a label called ‘Forward’, select the emails that you want to forward and label them. Then everything works exactly as before but instead of loading the last 50 conversations you get the ones that you have labeled.
This also answers the requests for a selective email facility.
Les
Les Smart,
Awesome! Thanks for your valuable suggestion.
Where do you go to change this thread? Please tell me the route to take, Thanks
Do it from Tools->Script Editor.
This ‘Forward’ label is exactly what I need but I’m not exactly sure where to stick these changes. Any chance you could share your changes as a google sheet or text doc.
I can try it, I just get nervous i’ll break it!
Thanks
David
I used Les Smart’s text as detailed below, but keep receiving a syntax error on line 98 what am I doing wrong?
Mark,
Please paste the line of code available at line 98 instead pasting the entire snippet. Apologizes!
Contents of line 98, any help greatly received
catch(err)
As an added bonus I have just done a test and it seems that you can enter more than one recipient address. I just tried with 2 addresses separating them with a comma (,) and they went to both. Both addresses appear in the To: field on the recipient email.
Sorry for confusion about code snippet. Was showing that the call appeared in 3 places and you had to change all 3 not just the first one otherwise the emails that are forwarded are not the emails in the spread sheet.
regards
Les
Sounds great! Ya the code is capable of forwarding emails to multiple recipients. You must use comma as separator. I have highlighted this point in bold in 3rd paragraph and also in screenshot
Hope you are finding it useful. Do share the article then.
I need the code to get access to 50 or more emails, and also to get older emails so I can forward them also. Thanks
I need the code to get access to 50 or more emails, and also to get older emails so I can forward them also. I can’t understand script part. Run me through the process.
Hi….Thnks for the article.
I want to send multiple drafts to one e mail id…How can i do it?
Great article! Thanx a lot. I was successfully able to forward the first 50 e-mails, like you mentioned. I have another 50 I’d like to move. Please help. I appreciate your assistance in advance.
Welcome! Do share the article in that case
You can temporarily delete or move those completed emails on to another folder so that next 50 mails become the recent ones and now you can again use the script as you did previously.
Similarly repeat as and when needed.
how to forrward selected 50 items from the original email id?
When you forward, emails are sent from your email Id only. That is the Google Account which you used to login.
I want to select 50 items in between from my mail and then i have to forward it to another mail. is it possible?
Yes that’s the purpose of this tool
Please read the article fully.
Please also tell me how to forward mails under a label?
Sorry! Current version of the script does not support this. But it’s very much possible and easy to implement.
Refer: http://techawakening.org/forward-multiple-emails-on-gmail-with-google-docs/1509/#comment-4484
Though I tried to copy the script at line 98 when I go to save it is giving the error illegal thread. Why donot you give the entire script re-written so that I will not be making any error.
thanks in advance
I revised the code to forward all emails by Label Name.
So lets say you have 200 emails in a Label (folder) called Taxes2012, it capture all emails in Taxes2012 label and forward them to an email.
https://docs.google.com/spreadsheet/ccc?key=0AsXkWixR5xw5dFA3RDNJaTZ0LWdfbEUxeWxwZHBQdGc#gid=0
That’s really cool! Thanks for sharing it here
Requesting you to change access permissions of the project, it shows Access Denied error.
And do share this article if you like it!
This, and other gmail scripts are helpful – thanks! Can we add other features / enhancements and post here (is this an open license?)
Will definitely keep reading techawakening.org and your google+ page!
You are most Welcome! Feel free to tweak it as you wish but please do leave the credits(comments) at top of the scripts intact
Do share these articles on social networks if you found it useful.
I would suggest that the The script also be designed so that all emails with a Particular Label be loaded for forwarding,
This way all the emails we need to forward can be assigned a label & this script run to forward them all
Hi TOS,
A reader has updated the original script and demonstrated it.
For more info please refer my comment here: http://techawakening.org/forward-multiple-emails-on-gmail-with-google-docs/1509/#comment-5155
Hope it helps you
I have 85 emails in a folder in GMAIl and I want to forward them. Is there anyway to forward a FOLDER/LABEL rather than just the most recent 50? thank you. Will you respond directly Or do I need to check back here.
I am a Univ. prof and not a code person. thanks so much. this is almost helpful
Hi Madam,
It’s very much possible. Michael Canejo has already shared a demo of it. It helps you forward emails by label. I should say that am very much thankful to him for sharing it here.
First assign all the emails to a label. Then use the spreadsheet available @ Forward Multiple Email by Label SpreadSheet. Mention the label name at cell C3(Parkers) and start using it by following the instruction from step4. Hope it helps!
By the way will appreciate it if you could share this article on social networks
Is the source code available for this script? I would like to pull in the message body into the spreadsheet.
Jared,
Please feel free to explore the source code from Tools-> Script editor.
I need to forward a large amount of e-mails from g-mail to Google
Docs for fowarding. How do I instruct GD to increase the amount from 50 to the maximum possible to upload? Need answer fast, please. Thanks!
Hi Kirland,
Instead of tweaking the size you can assign all emails to a label and then use the project mentioned in my comment here: http://techawakening.org/forward-multiple-emails-on-gmail-with-google-docs/1509/#comment-5155
I am having a problem with this. The emails are forwarded, but they appear as if they’re an original email from my account to the account to which I am forwarding them. When they arrive, there is no record of who the original sender was.
Thanks for writing this! I ran into a problem with the forward by label version when I try to load emails, I get “TypeError: Cannot call method “getThreads” of null.”
Any ideas?
Did you mention the label name?
Project to be used: https://docs.google.com/spreadsheet/ccc?key=0AsXkWixR5xw5dFA3RDNJaTZ0LWdfbEUxeWxwZHBQdGc&newcopy=true
The label name is Forward. I thought that the script was set up for that name. Is there somewhere in the spreadsheet that I need to specify the label name?
Please refer my comment here: http://techawakening.org/forward-multiple-emails-on-gmail-with-google-docs/1509/#comment-5155
Thanks!
Welcome! Do share this article on social networks
Shunmugha Sundaram! Amazing job! Just exported 67 mails in a jiffy. Thanks!
Pelton,
My pleasure
Do share this article on social networks if you found it useful.
Does this still work?
I opened the doc in Google drive, and i dont see a ‘forward’ option.
Yes it works. Wait for sometime for the menu to appear. Or manually invoke the menu by going to Tool->Script Editor then Run->onOpen. Now you should be able to see the menu.
It took a while but yup, the forward options showed up, and it worked! Although, it wasnt clear where I could enter the label name, i figured it out. Perhaps update the help notes.
Thanks again!
You are most welcome! Do share the article
Hey..
I tried doing the labels one’s.. It did work for say abt 400 mails in some slots. now am not able to fwd more mails. It just says it will take some time but is not responding anymore nor fwding d mails.
plz help !!
thz
Try creating new copy of the sheet and do again.
How many mails can we transfer in one go ?? I have abt 1000.. It send’s abt 100 mails and again d same prob occurs. It stops responding !!
bt am so thankful for the post
Aakriti,
You can send only in batches of 50 per run. Not all together. First forward 50 mails then move those mails to another folder from inbox again run the script. Repeatedly do like this. OR assign all email to a label and forward by label.
Refer here: http://techawakening.org/forward-multiple-emails-on-gmail-with-google-docs/1509/#comment-5155
Thanks a tonnnnn…..

it Meant a lot.. really gr8 work..
keep it going..
thanks again !!
Cheers
Aakriti,
Welcome. Please do share the article on the web. Hope you won’t mind it
This is very interesting… Do you think this code base can be adapted to a Reply To Multiple Emails at Once kind of script?
I guess it should be possible. We need to parse selected emails and get sender’s address from the emails.
Hi, I kindof got ahead of myself and accidentally hit forward before changing out the “Forward To” email. (Don’t judge, I have a baby that doesn’t sleep at night and my brain is mush). What was the default email that was in that space? I’m a little worried about all my emails having been forwarded to some random email…I don’t think there was anything too sensitive, but would still like to protect myself somehow.
any help on this front?
You absolutely need not worry. It’s a sample, non-existing email account given just for the sake of reference. Well now you can take care of your baby without worrying