[Q] Is there a way to download/save all the messages (PMs) off-line with user-names?

I wrote a small bookmarklet for this a while back. It still appears to work fine. The main advantage being that you don't need to install any external software. It runs right in your browser.

javascript:function parseParent(a){res=a.querySelectorAll(".message-reply"),subject=a.querySelector(".subject-text").textContent,author=a.querySelector(".author")?a.querySelector(".author").textContent:"reddit",time=a.querySelector("time").title,body=linkify(a.querySelector(".md")),out+="Subject: "+subject+"\n"+author+" - "+time+"\n"+body.textContent+"\n\n";for(var b=0,c=res.length;c>b;b+=1)parseReplies(res[b]);out+="----------\n\n"}function parseReplies(a){subject=a.querySelector(".subject-text").textContent,author=a.querySelector(".author").textContent,time=a.querySelector("time").title,body=linkify(a.querySelector(".md")),out+="Subject: "+subject+"\n"+author+" - "+time+"\n"+body.textContent+"\n"}function linkify(a){for(var b=a.querySelectorAll("[href]"),c=0,d=b.length;d>c;c+=1)span=document.createElement("span"),span.textContent=" ["+b[c].href+"] ",b[c].appendChild(span);return a}for(var author,time,subject,body,span,res,out="",msg=document.querySelectorAll(".recipient.message-parent"),i=0,len=msg.length;len>i;i+=1)parseParent(msg[i]);document.write("<pre>"+out+"</pre>");void 0

Using RES' Never Ending Reddit functionality, go to https://reddit.com/message/messages and load in as many pages of your PMs as you like. It only goes back 1000 anyway so at most you'll have to load in another 9 pages (assuming you have it set to display 100 items per page in the prefs).

Once you have all the PMs in view that you want to save, click on the bookmark and it'll spit out a basic skeleton of your PMs. Subject/Author/Time/Message content. All you have to do is to copy/paste it into a text file. Crude, but it works (probably).

/r/Enhancement Thread