Open main menu

Changes

885 bytes added ,  10:55, 28 August 2018
no edit summary
If you want to add email to your PHP application or website, then use [https://github.com/PHPMailer/PHPMailer PHPMailer], [http://swiftmailer.org/ Swift Mailer] by SensioLabs, or other fine alternatives. Don't use PHP's <code>mail()</code> function unless you are really going for basic messaging to yourself only. You can also use Google's SMTP server to send but you'll still end up being dependent on the 'cleanliness' of your IP for delivery.
Make sure your server IP is not blacklisted or firewalled. [[Telnet ]] to Google:
<source lang="bash">
telnet smtp.gmail.com 25
=== My wiki won't send email ===
First, did you check if mail is working from PHP?
 
<source lang="php">
<?php
$mailto = 'greg@eQuality-Tech.com';
$subject = 'test mail';
$message = 'sample message';
$from = 'wiki@example.org';
$header = "From:$from";
 
if ( mail ( $mailto, $subject, $message, $header ) ) {
echo "Email sent\n";
echo "Try 'sudo tail /var/log/mail.log' to look for other possible errors.\n";
}
</source>
 
If your application already has email capability, but it won't send, then turn on the mail_log feature in php.ini and check that sendmail/postfix is installed on your system. You might start with <code>sudo apt-get install mailutils</code>. If on AWS or datacenter, you can set up as an internet site and be done. If you are behind a consumer broadband IP, you will probably need to setup a 'smarthosted' site and use (your own) IMAP credentials to send email through another provider.
=== How do I use the 'mail' command? ===
You're on a linux server and you see "You've got mail". So, you type 'mail' and immediately have no idea how to process the messages. See this excellent tutorial/write-up of the basic '''mail''' command: http://www.johnkerl.org/doc/mail-how-to.html The <code>mail</code> command works like the editor '''<code>ed</code>''' which is to say not very well known today. (See <code>man mail</code> -- The manual page was written in 1993.) The man page refers to [https://docs.freebsd.org/44doc/usd/07.mail/paper.pdf The Mail Reference Manual] originally written by Kurt Shoens
 
=== What is my mail server doing? ===
<code>mailq</code> tells you about what's in the queue (What it's going to send).
 
Grepping the mail log can tell you where your server has sent mail.
<source lang="bash">
grep --perl-regex --only-matching ' to=[^ ,]*' /var/log/maillog | awk -F= '{print $2}' | sort | uniq -c
</source>
 
 
<pre>
37 admin@equality-tech.com\t
305 meza-ansible
305 <meza-ansible@my.qualitybox.us>
35 root
</pre>
 
 
 
== Tools ==
4,558

edits