How I do e-mail / mass e-mail my CS-Cart customers?

How I do e-mail / mass e-mail my CS-Cart customers? I would like to offer them a newsletter, discount codes etc. via e-mail, but I haven't seen anything in the admin panel that is able to do this. Can someone please tell me how I can do this with CS-Cart?

Hello, Avarice!



There is Newsletters feature in CS-Cart Professional and CS-Cart Multi-Vendor Editions which allows to send letters to different groups of customers.



Please refer here for more details:

The Newsletters send function is a problem for me.

My host won't let me send more than 400 email messages at once.

If the CS-Cart newsletter function had Setting for defining the size of a batch of emails and a wait period between batches, like Joomla has, it would be most beneficial to me.

I had to stop sending Newsletters because all the emails after the first 400 are bounced by my host.

Try Tbirnseths mail chimp integration tool.



Mailchimp is really easy and works a treat.



http://www.ez-ms.com/



John

[quote name='johnbol1' timestamp='1321981259' post='126544']

Try Tbirnseths mail chimp integration tool.



Mailchimp is really easy and works a treat.



http://www.ez-ms.com/



John

[/quote]

That is a good suggestion, I used MailChimp with a previous shopping cart, however, as CS-Cart has a mailing list function, it really is a major oversight to not include basic functions such as specifying the number of emails sent per round, waiting period, etc.



I don't expect any further updates to v2.2.4 before the release of v3, so won't expect this functionality to come any time soon from CS-Cart. Please, by all means, prove me wrong…

[quote name='StellarBytes' timestamp='1321983852' post='126546']

That is a good suggestion, I used MailChimp with a previous shopping cart, however, as CS-Cart has a mailing list function, it really is a major oversight to not include basic functions such as specifying the number of emails sent per round, waiting period, etc.



I don't expect any further updates to v2.2.4 before the release of v3, so won't expect this functionality to come any time soon from CS-Cart. Please, by all means, prove me wrong…

[/quote]



I guess you're right, but since there are so many fan-tas-tic alternatives, even free once that cs-cart will never be able to compete with, I don't think this will ever become a real priority.



The good thing about using ie. Mailchimp, ymlp, is not only the enormous possibilities, but also the fact that they have a very good reputation, and work on that constantly. This means more mails will come through and will not be counted as spam very fast.



So investing in an add-on will simply pay itself back. Very fast.

I modified my newsletter code so that it adds a delay after sending each email… This way it will send xx per minute thus allowing me to control the flow… I just let it run in the background and I open up a new window and log into admin again and keep working.



Haven't had any bounced emails since I did that.

Hello, Magpie Don!



There is the “Newsletters sent per step” setting for this add-on. Also, our support engineers can add a delay between sending the letters to your CS-Cart installation.

[quote name='orangegirl' timestamp='1322032502' post='126620']

Hello, Magpie Don!



There is the “Newsletters sent per step” setting for this add-on. Also, our support engineers can add a delay between sending the letters to your CS-Cart installation.

[/quote]

How long is a 'step', how many connections are made, etc? Thus we can calculate what value to use to send X, XX, XXX, XXXX emails per day, as most hosts have a limit per hour, day or month.

Has anyone yet discovered how the “Newsletters sent per step” value is applied?

Hi



I found this in another post on 02 May 2011 - 06:50 PM by JB_1975





We are currently in 2.0.15 and this is my little solution. I put a

sleep(8);

timer in /public_html/lib/phpmailer/class.phpmailer.php on lines 609 and 625. If you're using something other than sendmail you will probably need to put it in the MailSend or SmtpSend functions of this class file. The reason I set it to 8 seconds is because the code is taking 10 seconds so 8 more nets me about 200 per hour and my hosts limit is 250. Leaves us a little room for sending other correspondence. This should work as long as you have set “Newsletters sent per step” to '1' in the News & emails options under Administration->Addons.



Hope this helps



Fotis

Hi Fotis,

Where exactly are you putting the sleep command?

Here is the code from my class.phpmailer.php script (lines 599 thru 643 - the SendmailSend function):

```php

/**

  • Sends mail using the $Sendmail program.
  • @param string $header The message headers
  • @param string $body The message body
  • @access protected
  • @return bool

    */

    protected function SendmailSend($header, $body) {

    if ($this->Sender != '') {

    $sendmail = sprintf(“%s -oi -f %s -t”, escapeshellcmd($this->Sendmail), escapeshellarg($this->Sender));

    } else {

    $sendmail = sprintf(“%s -oi -t”, escapeshellcmd($this->Sendmail));

    }

    if ($this->SingleTo === true) {

    foreach ($this->SingleToArray as $key => $val) {

    if(!@$mail = popen($sendmail, 'w')) {

    throw new phpmailerException($this->Lang('execute') . $this->Sendmail, self::STOP_CRITICAL);

    }

    fputs($mail, "To: " . $val . “\n”);

    fputs($mail, $header);

    fputs($mail, $body);

    $result = pclose($mail);

    // implement call back function if it exists

    $isSent = ($result == 0) ? 1 : 0;

    $this->doCallback($isSent,$val,$this->cc,$this->bcc,$this->Subject,$body);

    if($result != 0) {

    throw new phpmailerException($this->Lang('execute') . $this->Sendmail, self::STOP_CRITICAL);

    }

    }

    } else {

    if(!@$mail = popen($sendmail, 'w')) {

    throw new phpmailerException($this->Lang('execute') . $this->Sendmail, self::STOP_CRITICAL);

    }

    fputs($mail, $header);

    fputs($mail, $body);

    $result = pclose($mail);

    // implement call back function if it exists

    $isSent = ($result == 0) ? 1 : 0;

    $this->doCallback($isSent,$this->to,$this->cc,$this->bcc,$this->Subject,$body);

    if($result != 0) {

    throw new phpmailerException($this->Lang('execute') . $this->Sendmail, self::STOP_CRITICAL);

    }

    }

    return true;

    }

    ```



    I believe your method will work for me, but I'm not sure where to place the sleep commands. You assistance is greatly appreciated.

    Donnie

Hi try this


<br />
/**<br />
   * Sends mail using the $Sendmail program.<br />
   * @param string $header The message headers<br />
   * @param string $body The message body<br />
   * @access protected<br />
   * @return bool<br />
   */<br />
  protected function SendmailSend($header, $body) {<br />
    if ($this->Sender != '') {<br />
		  $sendmail = sprintf("%s -oi -f %s -t", escapeshellcmd($this->Sendmail), escapeshellarg($this->Sender));<br />
    } else {<br />
		  $sendmail = sprintf("%s -oi -t", escapeshellcmd($this->Sendmail));<br />
sleep(<img src="upload://oPnLkqdJc33Dyf2uA3TQwRkfhwd.gif" class="bbc_emoticon" alt="8)">;<br />
    }<br />

```<br />
<br />
and<br />
<br />
```php
<br />
// implement call back function if it exists<br />
		  $isSent = ($result == 0) ? 1 : 0;<br />
		  $this->doCallback($isSent,$this->to,$this->cc,$this->bcc,$this->Subject,$body);<br />
		  if($result != 0) {<br />
		    throw new phpmailerException($this->Lang('execute') . $this->Sendmail, self::STOP_CRITICAL);<br />
sleep(<img src="upload://oPnLkqdJc33Dyf2uA3TQwRkfhwd.gif" class="bbc_emoticon" alt="8)">;<br />
		  }<br />
    }<br />
    return true;<br />
  }<br />
<br />

If you have 6000 customers you moved into cs-cart during a conversion from another cart, is there any way to bulk email them all without manually going through each customer and ticking the newsletter box?? I had about 4000 of them signed up to the newsletter in my old shop, but I'm back to square one with cs-cart so far. Any ideas or ways to make this work?

Hi thanks for the tip DVSGR,



I found the class.phpmailer.php but in the new CS 3. you only need to set the time



Search this


```php /**

  • Sets the SMTP server timeout in seconds.
  • This function will not work with the win32 version.
  • @var int

    */

    public $Timeout = 10;

    ```



    To


```php /**

  • Sets the SMTP server timeout in seconds.
  • This function will not work with the win32 version.
  • @var int

    */

    public $Timeout = 3000;

    ```



    Now after every sending there is a delay of 3000 sec, I only can send 150 per hour and it takes 5 sec per mail so its just right for me

Keep in mind that while you can often get around email limits with your host, email deliverablity is about reputation and history and that's not something you'll have starting out.



For most sites it's simply better to export your list and run your campaigns through a third party email vendor. You'll get better email management, analytics, the ability to have your sends go out in minutes and of course it's their job to maintain quality, whitelisting, etc which can mean much better delivery rates.



Of course the tradeoff is a few dollars a month of added cost but given the ROI of email marketing and reaching out to past customers rather than trying to acquire new ones it's usually well worth it whether you gain 10% more opens or the analytics to know how many people open in the first place.



You also need to insure your opt-outs are maintained properly. Letting your email provider handle these is best but if you move you'd have to import that back and scrub your internal list.



Some of the popular self service providers:


  • MailChip [offers a free / low limit plan]
  • VerticalResponse
  • Awber



    If you're sending in high volumes drop me a note and I'll suggest a few of the enterprise focused vendors who have some great automation / API features.

HI,

So for v2.x.x did the
sleep(8);
mod work?

Is that “8” seconds?

Hi,



We've implemented Amazon SES with SMTP to ensure more reliable delivery of emails from our server.



We have a limit of 27 emails per second,



Will the default step of 10, allow us to send mail within that limit safely?



We're looking to send out a large newsletter later this week,



V4.1.5



Stephen