因此,如标题中所述,我想创建一个与邮件不同的功能来发送邮件(令人困惑的ik)
所以使用mail()它会从我的服务器发送电子邮件而不管我放的标题,所以我需要创建一个函数来发送来自设置电子邮件的实际电子邮件
假设我有一封电子邮件
flameforgedinc@gmail.com
假设我在邮件列表中收到了大量电子邮件
现在我有一些代码可以使用此功能向每个人发送电子邮件
所以这段代码使用的是cMail($ to,$ sub,$ msg,$ from);
电子邮件将显示给用户
来自:flameforgedinc@gmail.com
我实际上希望它来自我的电子邮件
如果我使用邮件,那么它来自我的服务器并显示altervista00000,我不希望加号我的服务器将mail()函数限制为激活电子邮件,我需要能够发送简报
任何想法或解决方法??
答案 0 :(得分:1)
我的名字是Pavel Tashev。我会尽力帮忙;)
从技术角度来看,最简单,更正确的方法是使用您自己的邮件服务器来托管您的电子邮件帐户并发送您的电子邮件。在这种情况下,PHP的目的是告诉邮件服务器将电子邮件X从电子邮件帐户Z发送到电子邮件列表Y.
这将解决您的所有问题:
好消息是,您已经拥有一个由Google托管的Gmail帐户,您不需要构建自己的邮件服务器。您可以使用Google的邮件服务器。此外,对于发送电子邮件,我建议您使用PHPMailer(网址:https://github.com/PHPMailer/PHPMailer)。
以下是我们如何做到这一切。请按照以下步骤操作:
composer
,那将是一个简单的过程。如果您不这样做,只需下载代码并在项目中包含此文件PHPMailerAutoload.php
即可。只需按照Github上的说明操作即可。这真的很容易。因此,当您准备好安装PHPMailer时,您必须告诉它连接到您的邮件服务器。对于Gmail和您的电子邮件帐户,这将如下所示:
<?php
require 'PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->Username = 'flameforgedinc@gmail.com';
$mail->Password = 'PUT-YOUR-PASSWORD-HERE';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
$mail->setFrom('flameforgedinc@gmail.com', 'YOU CAN PUT YOUR NAMES HERE IF YOU WANT');
最后一步是设置收件人和电子邮件的内容:
$mail->addAddress('some.user@example.net', 'Joe User');
$mail->addAddress('seconrd.user@example.com', 'The name is optional');
$mail->addReplyTo('flameforgedinc@gmail.com', 'YOU CAN PUT YOUR NAMES HERE IF YOU WANT');
$mail->isHTML(true);
$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';
现在你必须发送电子邮件:
!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent';
}
我希望这会有所帮助。