MAMP PHP Mailer Not Working

[亡魂溺海] 提交于 2019-12-13 04:36:49

问题


I can't get phpmailer to work with MAMP (Free version). I've tried some suggestions from others for what worked with them but I've had no luck.

These are what I've tried so far: 1) Tried to use regular mail function from php using this - http://www.blog.tripleroi.com/2012/05/solvedenabling-sendmail-on-localhost.html

2) Enabled postfix following these post instructions - http://benjaminrojas.net/configuring-postfix-to-send-mail-from-mac-os-x-mountain-lion/ (Been getting "Undelivered Mail Returned to Sender")

I've just used generic scripts to tests and it keeps failing (but message says "success" or "Message has been sent").

Script 1:

$to = '<user>@gmail.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: <user>@yahoo.com' . "\r\n" .
'Reply-To: <user>@yahoo.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();

$retval = mail($to, $subject, $message, $headers);
if($retval !== true) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent';
}

Script 2:

require 'PHPMailer-master/PHPMailerAutoload.php';

$mail = new PHPMailer;

$mail->SMTPDebug = 2;                               // Enable verbose debug output

echo "<pre>";
$mail->isSMTP();                                      // Set mailer to use SMTP
echo "</pre>";
$mail->Host = 'smtp.mail.yahoo.com';  // Specify main and backup SMTP servers
$mail->SMTPAuth = true;                               // Enable SMTP authentication
$mail->Username = '<user>@yahoo.com';                 // SMTP username
$mail->Password = '<password>';                           // SMTP password
$mail->SMTPSecure = 'tls';                            // Enable TLS encryption, `ssl` also accepted
$mail->Port = 465;                                    // TCP port to connect to

$mail->setFrom('<user>@yahoo.com', 'Mailer');
$mail->addAddress('<user1>@yahoo.com', 'Joe User');     // Add a recipient
$mail->addAddress('<user2>@live.com');               // Name is optional
$mail->addReplyTo('info@example.com', 'Information');
$mail->isHTML(true);                                  // Set email format to HTML

$mail->Subject = 'Here is the subject';
$mail->Body    = 'This is the HTML message body <b>in bold!</b>';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

if(!$mail->send()) {
    echo 'Message could not be sent.';
    echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
    echo 'Message has been sent';
}

回答1:


Fixed it. On the /etc/postfix/main.cf, I've added these: smtp_sasl_security_options=noanonymous smtp_sasl_mechanism_filter=plain relayhost=smtp.live.com:587 to the minimum postfix configurations. Then revised the sasl_passwd file with my live server credentials and then reloaded postfix.



来源:https://stackoverflow.com/questions/34012142/mamp-php-mailer-not-working

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!