CcMail Handbook
- What is CcMail?
CcMail is a powerful Mailing List Manager that doesn't require any PHP knowledge. It was designed to have a user-friendly interface, being in the same time complete and powerful.
CcMail offers the basic functionalities of a commercial, expensive script for free. Try to believe.
At the moment CcMail is not designed to manage a large amount of subscribers (>5000), because of its no-database nature.
A MySQL version of CcMail, that will support unlimited subscribers, will be released once this version will be mature enough.
With CcMail you can:
- Send Mails in both text/HTML, select attachments, edit, etc.
- Create information Groups, and manage them (delete, restore...)
- Manage Users, who can easily unsubscribe or modify the groups they were subscribed to
- Quickly select/insert recipients
- Many other things :-)...
What are the requirements to set up CcMail? The requirements are very poor: you need only PHP>4.2 support! It means that virtually any server can successfully run CcMail. Often, these programs need MySQL support: this is not the case.
Can I use CcMail to send personal Mails over internet? Of course! You need only to edit settings with your name (the sender) and your email (so that your recipients can reply), insert recipient(s) and mail body and it\'s done. You can attach files, edit a previous Mail, use HTML syntax and so on. This could be very useful if you need to send a mail without having to configure a client: you just need an internet connection.
How can I include in my pages the User Interface displayed in the Main page? To include in your PHP pages the User Interface, just add the following line:
<?php include "path_to_ccmail/include.php" ?>
where path_to_ccmail is the path of your ccmail uploaded directory (the directory of this file). It should be simply "ccmail".
How can change User Interface language? You can change the language of your subscription form in "Settings". If your language is not included in your release, maybe you can find it here:
http://www.cicoandcico.com/download/download.php?SortBy=0&fdir=./ccmail/language%20packs/
If your language is not supported at the moment, you may create it: you can find some example in ccmail/lang folder. You have only to translate a file, and don't forget to advise me. I will include your language pack in the next releases of ccmail.
How can I avoid fake subscribers?
There is the possibility to avoid fake address subscriptions. Subscribers will receive a validation email with a particular link (this email is, by default, sent as HTML); they have to click on that link in order to make their subscription effective. To enable validation email, you have to select the appropriate box in "Settings" ans optionally fill in the "Validation Text" field. If you want to modify the activation page change Subscription form url (see Settings).
How can I import users from my old Mailing List Manager? To import a list of Users, click on "import" and follow the instructions. You should be able to import users from a virtually any plain text file. However, if your list is not retrieved correctly, try to edit your file to match a simple list. If your list is saved on a proprietary, or binary format, you have to add your users manually. Edit settings, first, not to send a notification mail to your users.
How can I send a Mail? Well, it's very simple. Just follow these steps:
- Select Recipients (see following answer)
- Click on "Write Mail", and fill the fields with the subject and the body of your Mail. Don't worry if there are some mistakes: you will be able to modify it later. Click on "Proceed".
- You can see now a preview of the mail you've composed. As you can see, you can edit it, delete it and attach files.
Don't attach huge files (>50 Mb), because maximum file size depends on your server, so it can be only a waste of time. To attach a file, click on Attach -> Browse -> (select local file) -> Attach. If successfully uploaded, file name will be displayed under Mail subject.
If you look at the right of the Subject, there is a link called [TEXT]. It means you're displaying plain text preview: HTML tags are not active! If you click on that, HTML preview will be displayed: if the body of the mail has some HTML tags like <hr> , you will see some differences :-) Important: consider that plain text is generally safer, better and more compatible!
However, whatever you choose, you have to select you choice near "Send Mail as" button, and than click on it. The Mail will be sent to all recipients and saved in Outbox for future use (you can retrieve it and paste to preview).
How can I specify the Recipients of a Mail? You can see, in the right, a column named "Recipients". There are 4 possibilities:
Add Users: displays all subscribed Users. You have to click on "Add" or "Remove" to, respectively, add the user to the list, or remove from it.
Add Groups: displays all active Groups. Clicking on "Add" will add all the Users subscribed to that Group to the recipients. Clicking on remove will remove them. Too simple?
Type Address: insert an e-mail address manually(or more than one). Valid addresses will be added.
Add Everyone: add to recipients every subscribed users.
What are "Groups"? "Groups" means information Groups: the administrator (you) creates some Groups, to give Users the ability to choose what to receive informations about. Suppose you've just created 3 Groups(CcMail, CcCounter and Site news). When a User will subscribe, he will have to specify the Groups he wants to subscribe to. Suppose he wants to be notified about CcMail updates: he will subscribe to CcMail Group only. When you will send a mail to the users of Group CcMail, that User will be authomatically added to recipients! Of course, if you delete a Group, Users won't receive any more informations about it.
What are "Hidden Groups"? You can Hide/Unhide a certain Group to protect sensitive informations. When a Group is hidden, Users can't subscribe to it, but you can treat it like a normal Group. To add Users to a hidden Group, you may unhide it, add users, then re-hide it.
How can I manage Users and Groups? You can delete/restore Users, and create/delete/restore Groups. That's very easy: watch at the left menu.
If you click on a User or a Group, you will receive informations about it.
Can I give someone the permissions to manage CcMail? Yes, CcMail allows multiple Administrators creation. Just edit config.php and add another user, giving him a unique username/password. He will have exactly your abilities, so pay attention!
PhpMailer Settings CcMail, from version RC3, uses PHPMailer to send mails. PHPMailer supports nearly all possibilities to send emails: mail() , sendmail (very popular in the *nix world) and SMTP-server directly.
mail() PHP implements a function to send mail, but it's not recommended for doing mass mailing because it dramatically overloads the server. So, you are not recommended to use that, above all if you have a lot of subscribers!
Sendmail
Sendmail is probably the most widely-used UNIX Internet MTA(Mail Transfer Agent). If you have a Unix/Linux server, it probably supports it. If you have problems with SMTP, this is the right choice.
SMTP
SMTP is the recommended method, because it gives you the ability to designate as many SMTP servers you wish. To set up SMTP, you need only a valid email account (or more than one). Fields explanation:
- Hostname: Sets the SMTP hosts. All hosts must be separated by a semicolon. You can also specify a different port for each host by using this format: [hostname:port] (e.g. "smtp1.domain.com:25;smtp2.domain.com"). Hosts will be tried in order.
- PORT: Sets the default SMTP server port. Leave default value if you don't know what it is.
- HELO: Sets the SMTP HELO of the message. Leave default value if you don't know what it is.
- Authentication: Many SMTP servers require authentication. You have to specify username and password.
If you have problems with SMTP, don't worry: try mail() and sendmail to find what is good for you. If you have some problems, read the following section (Common issues).
Scheduling Scheduling is a nice feature if you have a lot of subscribers. CcMail supports a particular way to schedule mails since version 1.0.1, that allows to schedule mails without server scheduling. I suggest you to read the following very carefully, if you intend to use this feature!
What is scheduling? Scheduling allows you to split recipients of a mail in more groups, in order to reduce mail server load. This can be very useful if your server does not accept a lot of emails in a small period of time.
Let's make an example: suppose your server accepts a maximum of 2000 mails per hour, and you want to send a mail to your 40000 subscribers. With scheduling, you can tell CcMail to send that mail to 2000 subscribers every hour automatically, until all your 40000 users get emailed. You need only to schedule it.
How to schedule a Mail
Scheduling a Mail is very simple. You have just to compose a new Mail, select some Recipient, as usual. When everything will be ready you will be asked to send that Mail. Select "Schedule" and follow the instructions. Please note that you won't be able to modify a Scheduled Mail, but only to delete it.
Execute Scheduling
Scheduling is executed automatically when you open schedule.php (ccmail/ folder). You can:
- Include that file in a frequently visited php page of your site. When a browser will open that page, Scheduled mail will be controlled and, if necessary, processed.
It is extremely important not to select a high number of Mails per period! In fact, suppose you have selected 1000 Mails every 10 mins. When a browser opens the page, schedule could take a long time to be completed, and if page request is interrupted you can exeperience the problem of some User getting emailed twice or more!
So, a good choice is selecting a low ratio, like 5 Mails every 2 minutes, or using the following method.
- The most secure choice is opening auto_schedule.php (ccmail/ folder) with your browser. That page will automatically refresh every 2 mins, executing scheduling. So, let your browser always open and it will do all the work.
If you use this option, it is a good idea to rename auto_schedule.php so that no one but you can find and execute it.
This way, you can be quite sure that page request won't be interrupted, so that scheduling can employ more time. You can select, as an example, 100 (or more)users every 15 minutes.
Common Issues If you have an issue, the first thing you should do is updating to the latest version. Your problem might have been already fixed.
Permissions CcMail doesn't need a database, so you can have problems with permissions. if you receive errors like: "Could not write file", or similar, try to chmod EVERYTHING inside data/ folder, and data/ folder itself, to 775 or 777 (try what it works for you).
If CHMOD is denied, gain root provileges or contact your administrator. It isn't due to CcMail!
I am using mail(), and some user is not emailed -> Try Sendmail or SMTP
I am using SMTP, and I'm getting this kind of error: "SMTP Error: The following recipients failed [address]"
This error usually occours because relaying is not allowed on the SMTP server from the IP address of the web server. Go to the configuration of your SMTP server and turn relaying on for your IP address and try again.
I am using SMTP, and some user is not emailed
Some SMTP server, to avoid spam, limits the maximum number of sent mails per hour. For now, there are 2 solutions: use another SMTP server, or use more than one SMTP server to spread the sending load over several computers (see previous section).
I am using SMTP, and I'm getting a timeout message
This error usually occours in PHP versions >4.04. Upgrade your PHP release.
If you have other problems or questions, try to read my Guestbook: often, a problem has already received an answer. If you don't find anything, submit your problem.
The Future of CcMail
MySQL CcMail at the moment does not manage to support a lot of subscribers (>5000), so this will be the goal of next releases.
Besides, in the future I planned a MySQL version of CcMail, that will fix these problems. I don't know if I will continue to mantein this version when MySQL release will be ready... we'll see.
However, it will be released only when this version will be mature enough.
New features
Probably, version 1.0.2 will enhance (and fix, since it is a new and complex feature)scheduling. A totally new feature will be templates support, even if they are yet implicitely supported (see Drafts). If you have some request, please let me know.
As regards HTML/Plain text choice when subscribing, I don't think it will be supported, because it is unseful, since HTML emails have a plain text version for those clients that don't support it.
CcMail for free?
I don't think CcMail will have a payment version in the next future, but since someone told me that I should be fool (read: generous), it might be that a future MySQL version will have a small charge (~10-20$) for businesses, though remaining totally free for personal use and no-profit organisations.
Damn if it's difficult to speak english!
|