【问题标题】:set email used by php mail [duplicate]设置php邮件使用的电子邮件[重复]
【发布时间】:2016-11-11 12:31:33
【问题描述】:

有没有一种方法可以设置 php 的 mail() 函数使用的电子邮件地址而不会被垃圾邮件过滤器捕获?

如果我不添加发件人标头,则电子邮件是从apache@ip-17....3.us-west-2.co....rnal 发送的,这不是最糟糕的名称,因为大多数邮件服务只是缩短为 Apache。但我希望它是 noreply.mydomain.com 如果我添加一个 from 标头并放置其他任何内容,它似乎总是会被垃圾邮件捕获,但如果保持默认设置则不会。

我的设置是 Linux Amazon EC2 Micro 上的 PHP 7

【问题讨论】:

  • 好的,我承认@John Conde 的标记是重复的,并且他的链接确实匹配。我应该删除问题还是应该怎么做?

标签: php email amazon-ec2


【解决方案1】:

您也可以在https://github.com/PHPMailer/PHPMailer 使用 PHPMailer 类。

它允许您使用邮件功能或透明地使用 smtp 服务器。它还处理基于 HTML 的电子邮件和附件,因此您不必编写自己的实现。

<?php
require 'PHPMailerAutoload.php';

$mail = new PHPMailer;

$mail->isSMTP();                                      // Set mailer to use SMTP
$mail->Host = 'smtp1.example.com;smtp2.example.com';  // Specify main and backup SMTP servers
$mail->SMTPAuth = true;                               // Enable SMTP authentication
$mail->Username = 'user@example.com';                 // SMTP username
$mail->Password = 'secret';                           // SMTP password
$mail->SMTPSecure = 'tls';                            // Enable encryption, 'ssl' also accepted

$mail->From = 'from@example.com';
$mail->FromName = 'Mailer';
$mail->addAddress('joe@example.net', 'Joe User');     // Add a recipient
$mail->addAddress('ellen@example.com');               // Name is optional
$mail->addReplyTo('info@example.com', 'Information');
$mail->addCC('cc@example.com');
$mail->addBCC('bcc@example.com');

$mail->WordWrap = 50;                                 // Set word wrap to 50 characters
$mail->addAttachment('/var/tmp/file.tar.gz');         // Add attachments
$mail->addAttachment('/tmp/image.jpg', 'new.jpg');    // Optional name
$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';
}

【讨论】:

    猜你喜欢
    • 2018-04-01
    • 2014-09-08
    • 1970-01-01
    • 2015-12-29
    • 2021-05-10
    • 1970-01-01
    • 2015-12-10
    • 2018-09-12
    • 1970-01-01
    相关资源
    最近更新 更多