Not a developer? Go to MovableType.com

Plugin and Theme Directory

Post Office v1.2.6

By Six Apart
Posted June 12, 2008, in Web Services.

Details

Post Office is a plugin for Movable Type that allows users to post to their blog via email. It works by connecting Movable Type to an existing email account, like GMail or any POP or IMAP compliant mailbox, and periodically scanning for messages to post.

Depending upon your configuration preferences, each user can be given a unique email address to post an entry to, uniquely identifying them and the blog they want to post to when sending an email.

INSTALLATION

Download

The latest version of the plugin can be downloaded from the its Github repo. Packaged downloads are also available if you prefer.

Copy the contents of PostOffice/plugins into /path/to/mt/plugins/

run-periodic-tasks must be configured. Further details can be found on the page Setting up run-periodic-tasks.

CONFIGURATION

Navigate to Tools > Plugins > Post Office > Settings and enter in the connection info for your email provider as well as author and entry preferences. Note that this plugin can be configured at the system or blog level.

Email Destination Configuration

The following fields configure Post Office’s connection to the address that users send new entries to.

  • Destination Inbox: The email address authors send posts to when they want Movable Type to post those messages to this blog.

  • Mail Server Type: POP3 or IMAP

  • Email Account Host: The host for the email account which Movable Type uses to post to this blog. Example: pop.gmail.com.

  • Use SSL: check if the host requires an encrypted connection. (If using Gmail or Google Apps, check Use SSL.)

  • Email Account Username: The username for the email account which Movable Type uses to post to this blog. (If using Gmail or Google Apps, specify the email address as in the Destination Inbox field.)

  • Email Account Password: The password for the email account which Movable Type uses to post to this blog.

Entry and Author Configuration

  • Default Post Status: This determines if entries are automatically published as they are received (“Published”) or if they must be manually published (“Draft”).

  • Embed Attachments: By default, a photo attached to an email will become an asset, an asset-entry relationship will be created, and the asset will be embedded at the end of the entry. Uncheck this option to not embed the asset (but still turn attachments into assets and create the asset-entry relationship).

  • Allow all MT Authors from this Blog to Post: If you check this box, Movable Type will allow all of the authors of this weblog to post via email using the email address in their author profile.

  • Require Web Services Password in Address: If you check this box, Post Office will require users to include their Web Service Password as an extension on their e-mail address. So the “From” address should contain a “+” followed by their Web Services Password value. This provides additional authentication for incoming messages. (i.e., user+nnnnn@…)

  • Email Addresses Allowed to Post: Movable Type will post messages received from these email addresses. Separate multiple addresses with a comma.

  • Allow Any Email: This option will simply publish any email received in the destination inbox. Users are not authenticated in any way, making posting completely anonymous. The Default Author is assigned entry ownership in this case.

  • Email Alias Matches MT Username: Checking this box will result in Post Office looking for a matching MT user based on the alias portion of the sender email address (the part before the @ sign). For example, if the email was sent by johnsmith@domain.com, Post Office would check to see if there is an MT Author with the username johnsmith. If a match is found, the entry will be posted as that MT user (if the user has posting permissions in the blog). If no match is found, Post Office will still try to look for a user with a matching email address.

  • Default Author: This is the “default” author, the person to whom entries are assigned if no other valid author exists. Email addresses specified in the above field will be attributed to this author if they are not valid Authors.

USE

Before you can start emailing entries to your configured blog, you need to grab a specially-crafted email address: click the Write Entry button in the configured blog and scroll to the bottom of the screen. Look for the text “Email to ”. Click this link and/or save the provided email address to your address book.

Notice that the format of this address is not quite as you might expect. For example, if your Destination Inbox email address is posttomt@mydomain.com you may noticed that the address in the “Email to ” link is posttomt+5@mydomain.com. In this example, “5” references the blog ID.

If you’ve selected the “Require Web Services Password in Address” configuration option you may notice that your web services password is part of the address in the “Email to ” link. If this feature is enabled note that the “Email to ” address is unique to each user.

Finally, now that you’ve got this email address you can send an email to test posting!

Drafting an Email Entry

Post Office will look at your email contents to create an entry formatted just as you require.

The subject of your email becomes the Entry Title. The body of your email becomes the Entry Body. If any files are attached to your email, they will be converted into Assets.

The subject of your email can also specify a category and tags for your entry. A basic subject line that becomes the Entry Title might look like this:

My first emailed entry!

Specifying a category in addition to the Entry Title is easy: include brackets around the category name. If the specified category doesn’t exist, it will be created for you when the message is processed. Only one category may be specified.

[Movable Type Tests] My first emailed entry!

Additionally, specifying a category, Entry Title, and tags is easy. Specify tags with a leading hashmark; many tags can be specified.

[Movable Type Tests] My first emailed entry! #PostOffice #Email

Lastly, send your email!

Requirements

  • Mail::IMAPClient (for IMAP)
  • Mail::POP3Client (for POP) (included with Post Office)
  • Email::Address (included with Post Office)
  • Email::MIME (included with Post Office)
  • IO::Socket::SSL

Compatibility

Movable Type versions: 4.35.05.15.26.0 Verified

License

MIT


Back

95 Comments

rm_blogger on June 20, 2008, 4:36 p.m. Reply

I have it installed and once I got the proper perl modules installed it quit throwing errors but it’s not doing anything and the email link that shows under the create entry screen is incorrect.

Any way to troubleshoot this?

Arindam Ganguly on July 22, 2008, 1:09 p.m. Reply

is the email the one you setup for this purpose? is it pop3 compliant? gmail provides this.

if it is..the email in the entry page should be the same with a +number in it. the number is the id of your blog. so the plugin knows where to post to

Cindi Knox on August 30, 2008, 6:13 p.m. Reply

If I set up a mailbox called mailboxname, and the email in the entry page is mailboxname+1, the mailserver is going to reject mail to mailboxname+1@example.com.

Cindi Knox on August 30, 2008, 8:26 p.m. Reply

Add requirement:

Your e-mail server MUST ignore the +n added to the local-part.

To verify, set up an email address (test@example.com). Send an e-mail (test+1@example.com). If the e-mail is successfully received (at test@example.com), your e-mail server is capable of working with this plugin.

Gautam Patel on September 3, 2008, 7:50 p.m. Reply

A few things to note:

  1. The plus-style email addressing is only required if you have multiple blogs running off a single installation
  2. Not all service providers accept plus-style email addressing. Gmail does. Use gmail.
  3. When configuring PO, for “host” enter pop.gmail.com, and tick ON SSL required.

thegreenpages on September 20, 2008, 7:18 p.m. Reply

Thanks for the tip Gautam Patel!

Minh Nguyá»…n on March 10, 2009, 10:54 p.m. Reply

There’s plenty of unofficial documentation at the Movable Type Wiki.

Rob G on April 1, 2009, 10:13 p.m. Reply

I’ve installed PostOffice and the additional software but can’t get the Settings option on the Plugin configuration page, only Info.

Help please!

spierce on August 14, 2009, 6:56 a.m. Reply

We have installed the PostOffice plugin and have our default post status set to draft but it still automatically posts. Can anyone help?

Tom on August 27, 2009, 1:13 p.m. Reply

Has anyone made this go with the Enterprise version? I’m trying everything using a pop3 Gmail account, but no posts ever show up. I’ve tried using the “+” syntax, not using it, setting the permission on the top-level plugin screen and the blog-level plugin screen.

The docs say it runs a process “periodically.” What’s the period? Can it be modified? And what is the process? I don’t see it anywhere in the crontabs.

I’ve got to say, too, that as usual the documentation is sketchy, confusing and incomplete. For example, there’s nothing called an “API Key” in my enterprise version. I have a blog ID number and a Web Services Password, nothing else. Can’t we at least have some consistent nomenclature to work against?

anina .net on September 8, 2009, 2:32 a.m. Reply

is there anyone who has gotten this plugin to work on 4.21?

are there any other mobile blogging with photo possibilities out there? i wished that this plugin would work but i cannot find anyone who has been able with it’s documentation (very sketchy) to make it work.

any other free options out there?

hanschuh123 on October 30, 2009, 1:40 a.m. Reply

Hello,

if I have correctly understood the documentation of the postOffice plug then it doesnt supported to filter tags out of a email.

but how to solve this problem now, is maybe a ready solution existing or not? certainly i cant find anything.

can someone give me please a little bit information?

thanx!

Alex Teslik on October 17, 2010, 11:29 p.m. Reply

Man, the move to github has been a complete trainwreck for the people who actually want to use these plugins. Is it anyone’s job to make sure the links on these plugin pages (1) actually work and (2) go to the latest version of these plugins? The download link goes to PostOffice version 1.0, but version 1.1 has been on github since March! :(

The really sad news is that I only realized that after I downloaded 1.0 here and hacked on it for two days. I was going to make a patch, but now I don’t have time to port in the 1.1 stuff and make a patch, so forget it. You can download what I did here and patch it yourself:

http://acatysmoof.com/posting/problems/mtos/PostOffice.zip

The only file I changed from 1.0 is the PostOffice.pm module. Here is what I added/fixed:

  • detect html or text email format and set the line breaks for the entry automatically. This makes text emails appear correctly, and html emails appear correctly without having to change any blog settings.

  • process message parts in a single loop (instead of two loops as in 1.1) while still replacing cid and loc links with the correct asset. The structure allows for future modifications, such as the automatic embedding of youtube videos, quicktime movies, audio files, etc.

  • auto-rotate email images based on EXIF tags. This allows iphone users to mail images to their blog and have them appear correctly. The EXIF tag is updated after rotation so that Mobile Safari and some other browsers do not rotate the image again based on the Orientation tag.

  • deposit asset files in dated folders like 2010/10/17/asset.jpg instead of placing them all at the site root level of the blog and making one hell of a mess.

Tested with iPhone 4, GMail, and OpenWebMail. HTML and text formats. MTOS 4.23.

Alex Teslik on October 17, 2010, 11:30 p.m. Reply

A link to github anywhere on this page would be helpful as well.

Alex Teslik on October 17, 2010, 11:41 p.m. Reply

I should also mention that the parts processing in my version is recursive to any depth, like an email message. This ensures more accurate re-creation of the email as a post entry.

vincent on March 4, 2011, 4:16 a.m. Reply

Does this plugin work with MT 5.04? Why not add an option to check the mail box manually so that we can make sure whether it works or not?

classified ads on July 16, 2012, 7:27 a.m. Reply

Thank Gautam Patel, I got it!

Nenci

Nenci on July 10, 2016, 6:15 a.m. Reply

users can get a clean start with their blog by allowing them to completely restructure their URL structure and have system that can automatically adapt via redirecting stale and inbound links to the destination.
צוואות הסכם ממון צוואה הסכמי ממון

Prashant

Prashant on October 20, 2015, 3:55 p.m. Reply

Plugin workin great. I hinstalled this plugin on mu website http://www.govtjobsfinder.com.

Guru Job Alert

Guru Job Alert on December 29, 2015, 4:50 a.m. Reply

Great piece! It’s so hard to find good information on carpentry on the internet nowadays with all the fluff that is out there Latest Notifications

Guru Job Alert

Guru Job Alert on December 29, 2015, 4:51 a.m. Reply

Great piece! It’s so hard to find good information on carpentry on the internet nowadays with all the fluff that is out there http://www.gurujobalert.com/

Guru Job Alert

Guru Job Alert on December 29, 2015, 4:55 a.m. Reply

Simply wish to say your article is as amazing http://www.gurujobalert.com/

recruitmentleader

recruitmentleader on January 21, 2016, 6:33 a.m. Reply

Nice, I really like it. If you love your website http://www.recruitmentleader.com/

Free Job Adda

Free Job Adda on November 11, 2016, 12:20 p.m. Reply

Awesome blog!It’s so hard to find good information on carpentry on the internet nowadays with all the fluff that is out there freejobadda

jams

jams on January 28, 2017, 4:00 p.m. Reply

I am very happy to discover your post as it will become on top in my collection of favorite blogs to visit. malik farhan

seorankbuilder

seorankbuilder on January 29, 2017, 7:02 p.m. Reply

Hello There. I found your blog using msn. This is an extremely well written article. I will be sure to bookmark it and return to read more of your useful information. Thanks for the post. I’ll certainly comeback. long distance movers

seorankbuilder

seorankbuilder on January 30, 2017, 8:39 p.m. Reply

I am hoping the same best effort from you in the future as well. In fact your creative writing skills has inspired me. o que fazer em miami

seorankbuilder

seorankbuilder on February 1, 2017, 3:00 p.m. Reply

I wanted to thank you for this great read!! I definitely enjoying every little bit of it I have you bookmarked to check out new stuff you post. casas em miami

hotstarapp

hotstarapp on February 28, 2017, 12:35 p.m. Reply

thanks for this wonderful code. VivaVideo for pc VivaVideo in india VivaVideo

jams

jams on March 6, 2017, 4:16 p.m. Reply

Thanks you very much for sharing these links. Will definitely check this out.. des moines tattoo

jams

jams on March 6, 2017, 4:17 p.m. Reply

This is really a nice and informative, containing all information and also has a great impact on the new technology. Thanks for sharing it des moines tattoo

jams

jams on March 6, 2017, 4:19 p.m. Reply

Love what you’re doing here guys, keep it up!.. des moines tattoo

supert

supert on March 7, 2017, 11:07 p.m. Reply

Thanks for the development of this plugin works perfectly

caiu na net xvideos pornô videos de sexo pornô amador

BMI CALCULATOR

BMI CALCULATOR on March 14, 2017, 12:27 p.m. Reply

was looking for this information, thanks to the author of the post, I am glad to join your community! bmi calculator

seorankbuilder

seorankbuilder on March 19, 2017, 5:46 p.m. Reply

I just couldn’t leave your website before telling you that I truly enjoyed the top quality info you present to your visitors? Will be back again frequently to check up on new posts. y8games.center

jams

jams on March 21, 2017, 5:23 a.m. Reply

Wow, cool post. I’d like to write like this too – taking time and real hard work to make a great article… but I put things off too much and never seem to get started. Thanks though. WordPress themes

jams

jams on March 28, 2017, 1:04 p.m. Reply

Dimebag Darrell Rig Rundown. Contrasted with other guitar players of his stature, Dimebag utilized a straightforward setup. His selection of guitars and amps boiled down to maybe a couple models which he used his whole career. Some guitar players will utilize many guitar models from different makers, Dimebag did not. He knew what he wanted and didn’t compromise. Kirk Hammett Guitar Setup

jams

jams on March 28, 2017, 1:06 p.m. Reply

Dimebag Darrell Rig Rundown. Contrasted with other guitar players of his stature, Dimebag utilized a straightforward setup. His selection of guitars and amps boiled down to maybe a couple models which he used his whole career. Some guitar players will utilize many guitar models from different makers, Dimebag did not. He knew what he wanted and didn’t compromise. Kirk Hammett Guitar Setup

seorankbuilder

seorankbuilder on March 28, 2017, 6:50 p.m. Reply

I would like to thank you for the efforts you have made in writing this article. I am hoping the same best work from you in the future as well. Thanks… find out this here

jams

jams on April 2, 2017, 8:05 a.m. Reply

Your content is nothing short of brilliant in many ways. I think this is engaging and eye-opening material. Thank you so much for caring about your content and your readers. short sale realtors

jams

jams on April 2, 2017, 9:19 a.m. Reply

Great post, you have pointed out some excellent points, I as well believe this is a very superb website. real estate agent

jazzy

jazzy on April 10, 2017, 3:50 a.m. Reply

I really thank you for the valuable info on this great subject and look forward to more great posts. Thanks a lot for enjoying this beauty article with me. I am appreciating it very much! Looking forward to another great article. Good luck to the author! All the best! best breast enlargement pills

seorankbuilder

seorankbuilder on April 13, 2017, 7:11 a.m. Reply

Most of the time I don’t make comments on websites, but I’d like to say that this article really forced me to do so. Really nice post! synthetic ombre wig

mishirajput

mishirajput on April 15, 2017, 10:08 a.m. Reply

This is such a great resource that you are providing and you give it away for free. I love seeing blog that understand the value of providing a quality resource for free. austin helicopter tour

seorankbuilder

seorankbuilder on April 15, 2017, 3:00 p.m. Reply

Interesting post. I Have Been wondering about this issue, so thanks for posting. Pretty cool post.It ‘s really very nice and Useful post.Thanks pheromones for men

seorankbuilder

seorankbuilder on April 16, 2017, 8:09 a.m. Reply

Thank you very much for writing such an interesting article on this topic. This has really made me think and I hope to read more. Men’s pheromones

jazzy

jazzy on April 17, 2017, 6:11 a.m. Reply

An fascinating discussion is value comment. I think that it is best to write extra on this matter, it won’t be a taboo topic however generally people are not enough to talk on such topics. To the next. Cheers wedding service

seorankbuilder

seorankbuilder on April 17, 2017, 12:09 p.m. Reply

I can set up my new idea from this post. It gives in depth information. Thanks for this valuable information for all,.. allungamento del pene

mishirajput

mishirajput on April 17, 2017, 12:55 p.m. Reply

Great post. you have pointed out some fantastic points . I likewise think this s a very wonderful website. trial attorney

jazzy

jazzy on April 18, 2017, 9:33 a.m. Reply

Your blog provided us with valuable information to work with. Each & every tips of your post are awesome. Thanks a lot for sharing. Keep blogging.. furniturdesigonline

jazzy

jazzy on April 19, 2017, 9:55 a.m. Reply

You’ve got some interesting points in this article. I would have never considered any of these if I didn’t come across this. Thanks!. hollingsworthcollections

seorankbuilder

seorankbuilder on April 20, 2017, 10:17 a.m. Reply

This is my first time visit here. From the tons of comments on your articles,I guess I am not only one having all the enjoyment right here! casas en Miami

vergence

vergence on April 21, 2017, 2:38 p.m. Reply

This plugins is great!

seorankbuilder

seorankbuilder on April 21, 2017, 6:41 p.m. Reply

Your work is very good and I appreciate you and hopping for some more informative posts. Thank you for sharing great information to us. Casas Orlando

seorankbuilder

seorankbuilder on April 22, 2017, 8:34 a.m. Reply

This is just the information I am finding everywhere. Thanks for your blog, I just subscribe your blog. This is a nice blog.. Bosch CCTV Dubai

seorankbuilder

seorankbuilder on April 25, 2017, 6:29 a.m. Reply

This article gives the light in which we can observe the reality. This is very nice one and gives indepth information. Thanks for this nice article. Executive search

seorankbuilder

seorankbuilder on April 25, 2017, 9:31 a.m. Reply

I just couldn’t leave your website before telling you that I truly enjoyed the top quality info you present to your visitors? Will be back again frequently to check up on new posts. seo expert dublin

seorankbuilder

seorankbuilder on April 25, 2017, 12:13 p.m. Reply

Really a great addition. I have read this marvelous post. Thanks for sharing information about it. I really like that. Thanks so lot for your convene. cupom de desconto marabraz

seorankbuilder

seorankbuilder on April 26, 2017, 7:21 a.m. Reply

Interesting topic for a blog. I have been searching the Internet for fun and came upon your website. Fabulous post. Thanks a ton for sharing your knowledge! It is great to see that some people still put in an effort into managing their websites. I’ll be sure to check back again real soon. how long does invisalign take

seorankbuilder

seorankbuilder on April 26, 2017, 1:25 p.m. Reply

Thanks so much for sharing this awesome info! I am looking forward to see more posts by you! Loungerie

seorankbuilder

seorankbuilder on April 27, 2017, 1:56 p.m. Reply

Very good points you wrote here..Great stuff…I think you’ve made some truly interesting points.Keep up the good work. steroids for women weight loss

jams

jams on April 29, 2017, 4:42 a.m. Reply

Nice Informative Blog having nice sharing.. Samsung SNV-8080P Vandal Proof Dome Camera Dubai

jams

jams on April 29, 2017, 7:07 a.m. Reply

Wonderful illustrated information. I thank you about that. No doubt it will be very useful for my future projects. Would like to see some other posts on the same subject! phenq does it work

thanh hung

thanh hung on April 29, 2017, 10:41 a.m. Reply

hay lắm http://oduvietnhat.com/

seorankbuilder

seorankbuilder on April 29, 2017, 11:28 a.m. Reply

Thank you for helping people get the information they need. Great stuff as usual. Keep up the great work!!! appliance repair Purcell Ok

jams

jams on April 29, 2017, 8:51 p.m. Reply

This is a great inspiring article.I am pretty much pleased with your good work.You put really very helpful information… cupom

seorankbuilder

seorankbuilder on April 30, 2017, 7:15 a.m. Reply

If you set out to make me think today; mission accomplished! I really like your writing style and how you express your ideas. Thank you. Austin Inventors

seorankbuilder

seorankbuilder on May 1, 2017, 11:08 a.m. Reply

Thanks for another wonderful post. Where else could anybody get that type of info in such an ideal way of writing? electricity saving devices

seorankbuilder

seorankbuilder on May 2, 2017, 11:45 a.m. Reply

This was really an interesting topic and I kinda agree with what you have mentioned here! how to reduce power bil

seorankbuilder

seorankbuilder on May 3, 2017, 9:10 a.m. Reply

Positive site. where did u come up with the information on this posting? I’m pleased I discovered it though. ill be checking back soon to find out what additional posts you include. Ramadan Graphics In Dubai

jams

jams on May 3, 2017, 10:21 a.m. Reply

The information you have posted is very useful. The sites you have referred was good. Thanks for sharing… ecommerce

seorankbuilder

seorankbuilder on May 4, 2017, 11:28 a.m. Reply

Thanks for the blog loaded with so many information. Stopping by your blog helped me to get what I was looking for. www.restaurantsnearmenow.org

seorankbuilder

seorankbuilder on May 4, 2017, 12:08 p.m. Reply

This is just the information I am finding everywhere. Thanks for your blog, I just subscribe your blog. This is a nice blog.. product reviews

seorankbuilder

seorankbuilder on May 5, 2017, 2:49 p.m. Reply

I recently found many useful information in your website especially this blog page. Among the lots of comments on your articles. Thanks for sharing. Accident attorneys

mishirajput

mishirajput on May 6, 2017, 10:37 a.m. Reply

I admire this article for the well-researched content and excellent wording. I got so involved in this material that I couldn’t stop reading. I am impressed with your work and skill. Thank you so much. sign makers near me

jazzy

jazzy on May 6, 2017, 1:40 p.m. Reply

This is very educational content and written well for a change. It’s nice to see that some people still understand how to write a quality post! budbuddy

seorankbuilder

seorankbuilder on May 7, 2017, 5:56 a.m. Reply

You know your projects stand out of the herd. There is something special about them. It seems to me all of them are really brilliant! streaming TV

seorankbuilder

seorankbuilder on May 10, 2017, 7:32 a.m. Reply

I have bookmarked your blog, the articles are way better than other similar blogs.. thanks for a great blog! day excursions lucerne

seorankbuilder

seorankbuilder on May 10, 2017, 8:47 a.m. Reply

hi was just seeing if you minded a comment. i like your website and the thme you picked is super. I will be back. golf resorts near me

jams

jams on May 11, 2017, 6:07 a.m. Reply

Thank you very much for this great post. buying portal

jams

jams on May 11, 2017, 6:07 a.m. Reply

Thank you very much for this great post. buying portal

jams

jams on May 11, 2017, 6:08 a.m. Reply

Thank you very much for this great post. buying portal

seorankbuilder

seorankbuilder on May 11, 2017, 7:20 a.m. Reply

Great Information sharing .. I am very happy to read this article .. thanks for giving us go through info.Fantastic nice. I appreciate this post.

ave the children

seorankbuilder

seorankbuilder on May 11, 2017, 9:29 a.m. Reply

Thanks for taking the time to discuss that. I feel strongly about this and so really like getting to know more on this kind of field. Do you mind updating your blog post with additional insight? It should be really useful for all of us. bug removal

seorankbuilder

seorankbuilder on May 12, 2017, 3:11 p.m. Reply

Your blog provided us with valuable information to work with. Each & every tips of your post are awesome. Thanks a lot for sharing. Keep blogging.. Mona Media

jams

jams on May 15, 2017, 4:44 a.m. Reply

The website is looking bit flashy and it catches the visitors eyes. Design is pretty simple and a good user friendly interface. cheap products

jams

jams on May 15, 2017, 7:02 a.m. Reply

Nice to read your article! I am looking forward to sharing your adventures and experiences. Hundred Palms EC

jams

jams on May 16, 2017, 5:16 a.m. Reply

I learn some new stuff from it too, thanks for sharing your information. dedetizadora

john

john on May 16, 2017, 12:01 p.m. Reply

very interesting post.this is my first time visit here.i found so many interesting stuff in your blog especially its discussion..thanks for the post! nts jobs

john

john on May 16, 2017, 12:04 p.m. Reply

This was really an interesting topic and I kinda agree with what you have mentioned here! nts jobs

jams

jams on May 17, 2017, 5:50 a.m. Reply

Wonderful illustrated information. I thank you about that. No doubt it will be very useful for my future projects. Would like to see some other posts on the same subject! residual income

seorankbuilder

seorankbuilder on May 18, 2017, 9:12 a.m. Reply

I was reading your article and wondered if you had considered creating an ebook on this subject. Your writing would sell it fast. You have a lot of writing talent. Medical writers

hoang

hoang on May 22, 2017, 7:26 a.m. Reply

Very interesting post.this is my first visit here.i found a lot of interesting things in your blog especially its discussion http://www.xuonginhopgiay.com/2017/03/in-tem-nhan-in-decal-giay-decal-nhua.html http://www.xuonginhopgiay.com/2017/04/in-decal-giay-can-mang-be-theo-hinh.html http://www.xuonginhopgiay.com/2017/04/xuong-in-bao-bi-giay-gia-re.html

seorankbuilder

seorankbuilder on May 23, 2017, 11:13 a.m. Reply

The information you have posted is very useful. The sites you have referred was good. Thanks for sharing.. pain management

Leave a Comment