I often recommend Campaign Monitor for sending emails to a mailing list. The CSV export functionality in simpleContact Pro makes the process of outputting your data, ready for importing into a newsletter system very easy.
It could be easier though. You could skip the export/import process altogether. With a simple code addition you can use the Campaign Monitor API to transfer subscriptions automatically.
I'm going to add this functionality to the double opt-in mailing list subscription process, rather than the single opt-in process. There are two reasons for this:
1) Campaign Monitor recommend using a double opt-in subscription process, because it helps to make sure you have a list of genuine email addresses from interested people.
2) It means you only have to add code to simpleContact Pro in one place. Subscriptions from either your contact form or mailing list subscribe form are covered. That place is the confirmation script.
--------------------------------------------------
1) Set the mailing list to double opt-in
You need to set simpleContact Pro's mailing list to double opt-in mode for this modification to be in effect.
Log into sc_admin and under "Mailing list" select the "Double opt-in" radio button and click "Save Change."
2) Get your Campaign Monitor API key and list ID
Log into your Campaign Monitor account. You need your API key (which you can find under "Account Settings") and the list ID for the mailing list you want to send new subscriptions to in Campaign Monitor. You'll find your list ID under "edit list name/type" inside the management page for your list.
3) Download the API PHP samples
Download the PHP sample file. It contains a collection of API usage examples in separate files. The only file that we need from the download is called CMBase.php
Copy it to your sc_admin/include folder. You don't need the downloaded samples, you can delete them.
4) Modify the list subscribe confirmation script
Open list_confirm.php
After line 3 add the following:
require_once 'sc_admin/include/CMBase.php';
After line 13 add the following:
if ($subscription = mysql_fetch_array($result)) {
$member_id = $subscription["member_id"];
$query = "SELECT name_full,email FROM $table_list_member WHERE id='$member_id'";
$member_result = mysql_query($query) or die(sql_err_handler($query, mysql_error()));
if ($member = mysql_fetch_array($member_result)) {
$name_full = $member["name_full"];
$email = $member["email"];
}
}
After line 24 add the following:
$api_key = 'YOUR API KEY HERE';
$client_id = null;
$campaign_id = null;
$list_id = 'YOUR LIST ID HERE';
$cm = new CampaignMonitor($api_key,$client_id,$campaign_id,$list_id);
$result = $cm->subscriberAdd($email,$name_full);
Upload this modified file to your server. You should now find that all new subscribers are automatically added to your list in Campaign Monitor.