Jump to content
Smoky Barnable

Transactional email service

Recommended Posts

As shared hosting environments become increasing more strict about emails, flagging perfectly legitimate emails to customers as spam, can anyone recommend an email service for transactional email? If anyone has tried these services what were your experiences?


The water in a vessel is sparkling; the water in the sea is dark. The small truth has words which are clear; the great truth has great silence.

- Rabindranath Tagore

Share this post


Link to post
Share on other sites

I use gmail as a backup service but it is just a backup. You should not have issues with transactional email as they should orignate from your email server. Make sure you have white listed all your customer emails. Also check with your host to find out what if any restrictions they have on the free mail service included with your hosting packege. It could be you are exceeding the limits set? Good if it's due to high buissness, you may then have to look at upgrading your hosting plan to allow for high mail usage.

The other thing you have to be carfull about is sending newsletters and promotional emails from your shared server these can get you into hot water! I would allways use a proper marketing mailer for things like that, mailchump or somthig like that.

Also if your on a old hosting plan it may be worth looking at some of the new cloud based shared hosting plans.


 

Share this post


Link to post
Share on other sites

I think we've got 2 or 3 different issues mixed together here:

  1. Excessive volume of emails (exceeding host's per-minute, per-hour, per-day caps). You need to find out from your host what the limits are. Unless they are ridiculously low, or your site is very, very busy; routine emails such as order confirmation should not be a problem. Newsletters and other such mass-mailing rates have to be low enough to not to interfere with routine emails. It's possible that you will need to use an external service to handle newsletters and other mass mailings.
  2. Newsletters and other "not necessary" communications (mass mailings) have to be explicitly "opt in", to avoid legal problems and accusations of spamming. Don't forget in every mailing to right at the top remind the reader that 1) they had signed up to receive the communication, and 2) how to easily unsubscribe (without reporting your store as a spammer).
  3. If your host (or other systems, such as Yahoo or Gmail) are flagging the content of any of your emails as spam, you will need to adjust the wording and contents to pass the spam tests. Certain words, certain phrases, an excessive number of links, etc. might have to be changed.

Share this post


Link to post
Share on other sites

I'm not a marketing person but I do send marketing emails for my clients so I become aware of certain techniques.

First of all, they use any of a marketing automation platform.

Second, they send only a few emails with a time gap.

These two are followed by most of them the rate of success is better and also it doesn't affect their reputation with their customers.

Customers and email platforms are well aware in identifying a phishing email so it's better to grow without damaging the reputation or losing any existing/prospective customer.

 

Share this post


Link to post
Share on other sites

I understand your trouble, for I used to face similar issues myself. I managed to sort it out by opting for Amazon SES, and it worked nicely for me since. However, there is a number of similar reliable transactional email providers, like Mandrill by Mailchimp, SendInBlue, Mailgun, perhaps you will find them to work out for your better than the service I use. All it all, it is best to give it a try to each.

Share this post


Link to post
Share on other sites
3 hours ago, DannisF said:

I understand your trouble, for I used to face similar issues myself. I managed to sort it out by opting for Amazon SES, and it worked nicely for me since. However, there is a number of similar reliable transactional email providers, like Mandrill by Mailchimp, SendInBlue, Mailgun, perhaps you will find them to work out for your better than the service I use. All it all, it is best to give it a try to each.

I just set up Mailgun with phpmailer a few days ago and love it. Many shared hosts are using Spamexperts now to protect their server reputations, but I have found them to be much too strict.


The water in a vessel is sparkling; the water in the sea is dark. The small truth has words which are clear; the great truth has great silence.

- Rabindranath Tagore

Share this post


Link to post
Share on other sites

I use mailchimp to send newsletters to subscribers. The trouble being is that there are no up to date ways of merging customer details both ways. I do this manually and it takes a bit of time, but due to GDPR and email privacy its something that needs to done right first time.

Mailchimp is free for the first 2000 emails sent so if you have only a few signed up customers there is nothing to pay. For larger numbers there is a paid for version. Its easy to create email templates. Emails can be scheduled to a suitable time to be sent.

If you have a paid for account there are lots of other options available and different types of emails that can be sent but you do need a customers consent to send any marketing emails.


REMEMBER BACKUP, BACKUP AND BACKUP

Get the latest Responsive osCommerce CE (community edition) here

It's very easy to over complicate what are simple things in life

Share this post


Link to post
Share on other sites
6 hours ago, 14steve14 said:

I use mailchimp to send newsletters to subscribers. The trouble being is that there are no up to date ways of merging customer details both ways. I do this manually and it takes a bit of time, but due to GDPR and email privacy its something that needs to done right first time.

Mailchimp is free for the first 2000 emails sent so if you have only a few signed up customers there is nothing to pay. For larger numbers there is a paid for version. Its easy to create email templates. Emails can be scheduled to a suitable time to be sent.

If you have a paid for account there are lots of other options available and different types of emails that can be sent but you do need a customers consent to send any marketing emails.

Mailchimp is great and I still use it for Newsletters, but I probably will import my mailing list into mailgun eventually to manage all emails communications in one place. As far as updating your mailchimp subscriber list I use mailchimps api to do this on create account page.

 

  // include mailchimp api for newsletter subscribers
  include('ext/api/mailchimp_v3/MailChimp.php');

   if (isset($HTTP_POST_VARS['newsletter'])) {
      $newsletter = tep_db_prepare_input($HTTP_POST_VARS['newsletter']);
	  //make api call to mailchimp to subscribe customer to newsletter list
	  $merge_vars = [
      'FNAME' => $_POST['firstname'],
      'LNAME' => $_POST['lastname']
    ];
	  $MailChimp = new MailChimp('xxxxxxxxxxxxxxxxxxxx-us3');
	  $list_id = 'xxxxxxxx';
      $result = $MailChimp->post("lists/$list_id/members", [
                'email_address' => $_POST['email_address'],
				'merge_fields'  => $merge_vars,
                'status'        => 'subscribed',
            ]);
			
    } else {
      $newsletter = false;
    }

and account newsletter page.

 

  // include mailchimp api for newsletter subscribers
  include('ext/api/mailchimp_v3/MailChimp.php');
  

if (isset($HTTP_POST_VARS['action']) && ($HTTP_POST_VARS['action'] == 'process') && isset($HTTP_POST_VARS['formid']) && ($HTTP_POST_VARS['formid'] == $sessiontoken)) {
    if (isset($HTTP_POST_VARS['newsletter_general']) && is_numeric($HTTP_POST_VARS['newsletter_general'])) {
      $newsletter_general = tep_db_prepare_input($HTTP_POST_VARS['newsletter_general']);
	  $newsletter = tep_db_prepare_input($HTTP_POST_VARS['newsletter']);
	  //make api call to mailchimp to subscribe customer to newsletter list
	   $merge_vars = [
      'FNAME' => $_POST['customers_firstname'],
      'LNAME' => $_POST['customers_lastname']
    ];
	  $MailChimp = new MailChimp(MODULES_HEADER_TAGS_MAILCHIMP_API);
	  $list_id = 'xxxxxxxxx';
      $result = $MailChimp->post("lists/$list_id/members", [
                'email_address' => $_POST['customers_email_address'],
				'merge_fields'  => $merge_vars,
                'status'        => 'subscribed',
            ]);
    } else {
      $newsletter_general = '0';
	  //make api call to mailchimp to unsubscribe customer from newsletter list
	  $MailChimp = new MailChimp(MODULES_HEADER_TAGS_MAILCHIMP_API);
	  $list_id = 'xxxxxxxxx';
	  $subscriber_hash = $MailChimp->subscriberHash($_POST['customers_email_address']);
      $MailChimp->delete("lists/$list_id/members/$subscriber_hash");
    }

    if ($newsletter_general != $newsletter['customers_newsletter']) {
      $newsletter_general = (($newsletter['customers_newsletter'] == '1') ? '0' : '1');

      tep_db_query("update " . TABLE_CUSTOMERS . " set customers_newsletter = '" . (int)$newsletter_general . "' where customers_id = '" . (int)$customer_id . "'");
    }

    $messageStack->add_session('account', SUCCESS_NEWSLETTER_UPDATED, 'success');

    tep_redirect(tep_href_link(FILENAME_ACCOUNT, '', 'SSL'));
  }

 


The water in a vessel is sparkling; the water in the sea is dark. The small truth has words which are clear; the great truth has great silence.

- Rabindranath Tagore

Share this post


Link to post
Share on other sites
On 6/24/2019 at 5:04 PM, Smoky Barnable said:

Mailchimp is great and I still use it for Newsletters, but I probably will import my mailing list into mailgun eventually to manage all emails communications in one place. As far as updating your mailchimp subscriber list I use mailchimps api to do this on create account page.

 


  // include mailchimp api for newsletter subscribers
  include('ext/api/mailchimp_v3/MailChimp.php');

   if (isset($HTTP_POST_VARS['newsletter'])) {
      $newsletter = tep_db_prepare_input($HTTP_POST_VARS['newsletter']);
	  //make api call to mailchimp to subscribe customer to newsletter list
	  $merge_vars = [
      'FNAME' => $_POST['firstname'],
      'LNAME' => $_POST['lastname']
    ];
	  $MailChimp = new MailChimp('xxxxxxxxxxxxxxxxxxxx-us3');
	  $list_id = 'xxxxxxxx';
      $result = $MailChimp->post("lists/$list_id/members", [
                'email_address' => $_POST['email_address'],
				'merge_fields'  => $merge_vars,
                'status'        => 'subscribed',
            ]);
			
    } else {
      $newsletter = false;
    }

and account newsletter page.

 


  // include mailchimp api for newsletter subscribers
  include('ext/api/mailchimp_v3/MailChimp.php');
  

if (isset($HTTP_POST_VARS['action']) && ($HTTP_POST_VARS['action'] == 'process') && isset($HTTP_POST_VARS['formid']) && ($HTTP_POST_VARS['formid'] == $sessiontoken)) {
    if (isset($HTTP_POST_VARS['newsletter_general']) && is_numeric($HTTP_POST_VARS['newsletter_general'])) {
      $newsletter_general = tep_db_prepare_input($HTTP_POST_VARS['newsletter_general']);
	  $newsletter = tep_db_prepare_input($HTTP_POST_VARS['newsletter']);
	  //make api call to mailchimp to subscribe customer to newsletter list
	   $merge_vars = [
      'FNAME' => $_POST['customers_firstname'],
      'LNAME' => $_POST['customers_lastname']
    ];
	  $MailChimp = new MailChimp(MODULES_HEADER_TAGS_MAILCHIMP_API);
	  $list_id = 'xxxxxxxxx';
      $result = $MailChimp->post("lists/$list_id/members", [
                'email_address' => $_POST['customers_email_address'],
				'merge_fields'  => $merge_vars,
                'status'        => 'subscribed',
            ]);
    } else {
      $newsletter_general = '0';
	  //make api call to mailchimp to unsubscribe customer from newsletter list
	  $MailChimp = new MailChimp(MODULES_HEADER_TAGS_MAILCHIMP_API);
	  $list_id = 'xxxxxxxxx';
	  $subscriber_hash = $MailChimp->subscriberHash($_POST['customers_email_address']);
      $MailChimp->delete("lists/$list_id/members/$subscriber_hash");
    }

    if ($newsletter_general != $newsletter['customers_newsletter']) {
      $newsletter_general = (($newsletter['customers_newsletter'] == '1') ? '0' : '1');

      tep_db_query("update " . TABLE_CUSTOMERS . " set customers_newsletter = '" . (int)$newsletter_general . "' where customers_id = '" . (int)$customer_id . "'");
    }

    $messageStack->add_session('account', SUCCESS_NEWSLETTER_UPDATED, 'success');

    tep_redirect(tep_href_link(FILENAME_ACCOUNT, '', 'SSL'));
  }

 

 

Messing with core code. Cant do it - my preference only as makes future updating harder. Now if it was made into a one click module then that would be so much better.


REMEMBER BACKUP, BACKUP AND BACKUP

Get the latest Responsive osCommerce CE (community edition) here

It's very easy to over complicate what are simple things in life

Share this post


Link to post
Share on other sites
On 6/24/2019 at 10:37 AM, 14steve14 said:

I use mailchimp to send newsletters to subscribers. The trouble being is that there are no up to date ways of merging customer details both ways

It's coming, just trying to find the time to finish it ;)


If it still don't work, hit it again!

Senior PHP Dev with 18+ years of commercial experience for hire, all requirements considered, see profile for more information.

Is your version of osC up to date? You'll find the latest osC version (the community-supported responsive version) here.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×