Open main menu

Changes

998 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
telnet> quit
Connection closed.
 
</pre>
Check your server IP with a tool like http://mxtoolbox.com/blacklists.aspx
Check your server IP with a tool like http://mxtoolbox.com/blacklists.aspx=== 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>
=== My wiki won't send email ===
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.
If you're not outsourcing everything through a third party, you'll want to implement [[SPF]] and [[DKIM]] and [[DMARC]]. Even if you're using a third-party like GAFYD, if you've got a [[CiviCRM]] instance managing all your constituent mailing, then you're going to need to setup these anti-spam measures.
=== How do I'm on a server and I need to 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