I have about 15,000 emails in google that were sent from a wordpress webform. I need to be able to extract data from that email and export to excel. Are there any suggestions? I have started using Parseur. But I need to be able to foward all 15,000 emails but Google is only allowing 100 per day. Also Parseur has a fee.

Dani AI

Generated

For (and anyone facing a large backlog of form emails): two practical paths that avoid manually forwarding thousands of messages.

First, check WordPress itself. Many form plugins (or add-on logging plugins) keep submission records or provide CSV export. Exporting from WordPress preserves field names and is the fastest, most reliable route when available.

If the form data only exists in Gmail, a low-code solution is to parse messages into a Google Sheet and then download as Excel. This keeps everything in Google and avoids paid parsers. A common workflow: add a dedicated Gmail label via a filter, run a Google Apps Script that reads labeled threads, extracts fields from the message body (plain or HTML), writes rows to a Sheet, and tags threads as processed. As noted, treating this as a parsing problem is the right mindset.

Example Apps Script scaffold (adapt field regexes to match the actual email format):

function extractFormEmails() {
  var label = GmailApp.getUserLabelByName('FormSubmissions');
  if(!label) return;
  var threads = label.getThreads();
  var ss = SpreadsheetApp.openById('SPREADSHEET_ID');
  var sheet = ss.getSheetByName('Sheet1') || ss.insertSheet('Sheet1');
  sheet.appendRow(['Date','Name','Email','Message']);
  var reName = /Name:\s*(.*)/i;
  var reEmail = /Email:\s*([\S]+)/i;
  for (var t=0;t<threads.length;t++){
    var msgs = threads[t].getMessages();
    for (var m=0;m<msgs.length;m++){
      var body = msgs[m].getPlainBody();
      var name = (body.match(reName)||[])[1]||'';
      var email = (body.match(reEmail)||[])[1]||'';
      sheet.appendRow([msgs[m].getDate(),name,email]);
    }
    threads[t].addLabel(GmailApp.getUserLabelByName('Processed'));
  }
}

Operational tips: test on a small sample first; adapt regexes to multiline or HTML bodies; process in batches and save progress (PropertiesService) to avoid timeouts; add a “Processed” label to prevent duplicates. For highly variable formats, attachments, or very large scale, a scripted pull with the Gmail API (Python/Node) gives more control.

By Google do you mean Gmail? Why not us Thunderbird to go get all those emails and then export to CSV and then write your own parser?

Remember this is a coding forum so programmers may think like that.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.