In its current stage Grammar Captive is more about learning than it is teaching, as much of the code used in the project’s development is new to the developer — namely, me.
As a good general rule I try not to incorporate anything that I do not understand. This means many excursions into the unknown with many new discoveries that are interesting, but not always directly applicable. Such has been my recent encounter with PHP’s output buffer.
While preoccupied with buffering I did realize one important facet of gathering user information that I originally thought to avoid, but have since decided to embrace — user authentication. And this, for two reasons:
1) Insure that what goes into the database is authentic — neither spam, nor another unwilling user’s information, and
2) Provide comfort to users who are suspicious of Shared SSL security due to the “invisible” (backend) use of https protocol.
Alas! Another week of sacrificed potential income. Once again, the long run has overtaken the short run.
The recent spam attack has made it clear that precautions taken today will likely pay off in the future. To this end form data validation and sanitization have been incorporated into the collection of user data.
In addition, the routine that collects data and the one that stores it have been integrated into a single routine and are ready for upload.
You would think that new registrants would be desired. When they are all coming from the same questionable domain, however, there is could reason to believe that they are spam.
Unfortunately, Grammar Captive’s current anti-spam software does not seem to be working against the sudden inflow of new registrants from suspicious websites including www.basic.islaby.com and www.platinum.shamroad.com.
It is for this reason that Grammar Captive is deactivating Akismet Anti-Spam and has downloaded, installed, and activated WP-SpamShield.
I am hoping that Grammar Captive will soon be able to add WP-SpamShield to its Credits list.
Grammar Captive will now return to its database development project.
Learning code means being exposed to unintended code discoveries. It also means new ideas about which one has not previously thought, and might very well prove useful in the future.
So, stop, pause, and take notes.
Indeed, Grammar Captive can now select any number of columns in a MySQL database, select all rows of one column with the same column entry, and discover all of the information in the other columns that pertains to the selected rows.
This is “future power”.
Grammar Captive has successfully sent its first mass mailing using the PHPMailer library. Hooray! Hooray!
Yes, it was only sent to two people, but the mechanism is now in place for sending to many many more.
Next Up: Combine Grammar Captive’s newly acquired ability to: one, send an HTML insert; two, extract email addresses from Grammar Captive’s database; and three, send a single email message to multiple newsletter subscribers with a single click.
Sending a newsletter must be as easy as receiving it!
Grammar Captive is now able to upload files via a dynamically built form. This is a useful first step in mass mailing that will also prove useful when it comes time to build a membership forum.
Although still in its test phase Grammar Captive has just sent its first successful multipart (MIME) email message using PHPMailer — the software selected by Grammar Captive for the purpose of mass mailing.
Two messages (one containing ASCII script — namely, English — and one containing Japanese) in both the address line and body were sent. Both messages contained images. Both were successfully transmitted over a secure TLS/SSL connection.
Though a small issue, it was discovered during the experimentation that copies cannot be sent to recipients when the name is included in the address line. In short,
CC: firstname.lastname@example.org OK
CC: Hashimori Iwato <email@example.com> NOT OK
Still users must be warned.
Arabic was not attempted, but will surely work. This is because both use the same character set — namely, UTF-8.
Grammar Captive is now able to store individual user data received in any language from an online form, store it in a database, and retrieve all of it in a fell swoop.
Next Up: Use this information to mail en masse to all registered users.
Have created a MySQL database on a local test server and learned how to fill it automatically from data received from an online form.
Next Up: Retrieve the data and use it to send a newsletter to a large number of recipients.
Next up is the creation of the code that will automatically collect new user information in a secure database and generate from this a mailing list for the Grammar Captive newsletter.