- PHP 81.9%
- CSS 18.1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| font | ||
| layout_el | ||
| loc | ||
| cron_email.php | ||
| functions.php | ||
| header.php | ||
| index.php | ||
| LICENSE.md | ||
| list.php | ||
| parameters.php | ||
| process.php | ||
| README.md | ||
| README_fr.md | ||
| schedule.php | ||
| setreg.php | ||
| setup.php | ||
| style.css | ||
MOSS
MOSS is MailOdyssey Simple Scheduler, a tiny standalone email planner, born from the observation that there's not much simple possibilities for that in open source webmail and small email providers. So we've decided to make a solution that everyone could benefit from, no matter what is used to send emails.
It does not need much to work properly : a web-hosting that is not overly limited (port-wise), a modern version of PHP (8.4+) and that's it :)
For example, this has been tested with success on free hosting offers from Infinityfree or Planethoster. Note that we mention them only to say that it can work almost everywhere. As a counter-example, it cannot work on free.fr "pagesperso" because of some port limitations. So if you have a paid plan there's no way it will not work, and if you're managing your own server that's all the same.
Anyway.
There are some dependencies: one is mandatory, and the other one isn't.
- The mandatory one is PHPmailer classes. The project needed an SMTP client and because PHPmailer is a good and well maintained software, we have chosen to use it instead of re-inventing the wheel.
- The second dependency is Wysi, a lightweight and simple WYSIWYG editor used for the email edition. However, as it needs javascript to work, it won't be available if Js is disabled in your browser. But MOSS stays perfectly functional without Js and you can do the exact same things. It just makes things easier for who wants so send HTML email and do not really know HTML tags.
Those dependencies are automatically retrieved during the short install process, so you shall not worry about anything.
Just make sure that your hosting isn't ipv6 only (which would be counter productive for email stuff, as sad as it is...)
Installing
The installation is pretty straightforward. You just have to grab the most recent archive, extract it in a public facing directory, and then use a browser to access the URL that goes with the aforementioned directory.
Then, you'll be asked to chose a name for the optional sub-folder where you want to install MOSS. If you leave the field empty, it will then be setup in place.
The next screen is a sum-up with the URL you need to access the service, and the URL to be called by the cron job for MOSS to be able to send your scheduled email in time.
Now you're all set to plan your first email.
Email scheduling steps.
This is done in 3 steps :
1. Entering your email and email password.
Note that these information are stored in plain text in your database because there's no other way for an external service like MOSS to be able to send your email without you being logged in. But as soon as the email is sent, then all related information is wiped out of the database. Actually, as this is a service intended just for yourself or maybe a few trusted relatives, that's probably a minor drawback.
2. Entering your email provider' server parameters.
These information are always available on your provider's website. Just search for "email client smtp configuration".
- MOSS needs the SMTP domain name, usually something like
smtp.example.comormail.example.com, but it can be something else. - Then the port used by your provider. This is simple as right now it can only be two things : 465 or 587.
- Then, if you are using aliases that can send emails, you can set an alias address in the "From" field. If the field is left blank, your email address will be used.
- If you want you can enter your name in the field "Your name". For example, if your email is like "bozo66@clown.net", it can be useful to set your name if you're writing to someone that do not know address.
- And finally, select your timezone. This is important as your web-hosting (the server) can have a totally different timezone than yours, so if you don't pick yours properly, your emails could be sent at an incorrect time.
3. The email editing & scheduling.
Now we're talking !
You will probably recognize all the field in the page, but just in case :
- The first one is for the subject of the email.
- The second one is for the message itself. That's the field that will be slightly different if you have disabled javascript or not.
- Third one is for your correspondents. You can have one or more correspondents separated by space, comma or each one on a new line.
- And finally, the last 3 fields are to set the date, hour and minute of the scheduled email.
One you're done, you can hit the submit button.
The scheduled email list.
This is the place to check your emails if you have second thoughts, or just want to adjust the scheduling.
Note that when you enter your email and password at step one, if you already have a pending scheduled email you will directly land on the list, so that you don't have to re-enter all information. But when you want to add another email by clicking on the "one more time" button, you'll see the pres-filled email technical information, just to be sure everything's ok, and also to check if the "From" field is what you wish.
Talking about the "From" field : as soon as you have used two or more different aliases, this field will offer you a list to chose among those aliases. You just have to double click on the field if it's not focused, or click or use the down arrow if it's focused.
Then you can proceed like before.
Cron-job.org
If you don't manage your server or simply don't have access to cron jobs via a panel or whatever, then you'll have to use an external service to regularly call the file that checks if there are some email to send and trigger the sending. Without it, it cannot work.
We have chosen cron-job.org as it has plenty of options while being simple to use, opensource and free.
-
Once you have created your account and you are logged in, click on "create cronjob" (top right of the dashboard)
-
For management purpose, you can give this cronjob a title, but that's not mandatory. Then fill the URL field with the one to call the cronjob file (mentioned at the end of the MOSS install).
-
In the "execution schedule", select "Every 1 minute".
-
Then click on the "notifications" tab and activate the "execution of the cronjob fails" switch. It's always better to be warned quickly when something goes wrong, so you can take appropriate measures.
-
And finally, click on "create" (bottom right).
That's it !
Conclusion
I hope that this tool will help you if that's what you're looking for. It's not perfect, there are some things here and there that still need to be done, but it's functional and already full-filling it's purpose, so no reason to postpone a release now :)
If you find it useful, you can support us by giving us some kofi :)
BUT : as mentioned earlier, this project is using a mandatory dependency : PHPmailer. Without it, I'm not sure we would have taken the time to code an SMTP client. So if you want to support us, split the amount in two and give the other half to PHPmailer ! Thanks a lot.