require 'mail/swift_required.php';
$message = Swift_Message::newInstance()
// The subject of your email
->setSubject('Jane Doe sends you a message')
// The from address(es)
->setFrom(array('jane.doe@gmail.com' => 'Jane Doe'))
// The to address(es)
->setTo(array('frank.stevens@gmail.com' => 'Frank Stevens'))
// Here, you put the content of your email
->setBody('<h3>New message</h3><p>Here goes the rest of my message</p>', 'text/html');
if (Swift_Mailer::newInstance(Swift_MailTransport::newInstance())->send($message)) {
echo json_encode([
"status" => "OK",
"message" => 'Your message has been sent!'
], JSON_PRETTY_PRINT);
} else {
echo json_encode([
"status" => "error",
"message" => 'Oops! Something went wrong!'
], JSON_PRETTY_PRINT);
}
<?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';
}
1
这是使用邮件功能发送纯文本邮件的非常基本的方法 .
<?php
$to = 'SomeOtherEmailAddress@Domain.com';
$subject = 'This is subject';
$message = 'This is body of email';
$from = "From: FirstName LastName <SomeEmailAddress@Domain.com>";
mail($to,$subject,$message,$from);
13 回答
另请查看PEAR邮件包Pear Mail Page
它似乎比内置的标准mail()函数更强大(如果标准函数不足) .
以下是此页面的摘录,显示了如何使用它 . PEAR Mail send() usage
Sent the Email with this script
按“发送电子邮件”按钮后,电子邮件将发送到Test@example.com
您可以使用Postmark,Sendgrid等邮件Web服务 .
Sendgrid vs Postmark vs Amazon SES and other email/SMTP API providers?
编辑:我现在只使用Google Gmail API . 我无法向我的雇主's organization due to strict filters. But Gmail works as long as you don'垃圾邮件发送提醒电子邮件 .
对于大多数项目,我现在使用Swift mailer . 这是一种非常灵活和优雅的面向对象的发送电子邮件的方法,由给我们流行的Symfony framework和Twig template engine的人创建 .
基本用法:
有关如何使用Swift邮件程序的更多信息,请参阅the official documentation .
从PHP发送电子邮件的核心方法是使用mail()函数,但有几个可以使用的SDK可以简化集成:
Swiftmailer
PHPMailer
Pepipost(通过HTTP工作,因此可以避免SMTP端口阻塞问题)
Sendmail
附:我受雇于Pepipost .
如果您对html格式的电子邮件感兴趣,请确保在 Headers 中传递
Content-type: text/html;
. 例:有关更多详细信息,请查看php mail函数 .
本机PHP函数
Mail()
对我不起作用 . 它发出消息:所以我通常使用
PHPMailer
包我已经在GitHub中下载了5.2.23版本 .
我刚刚选择了2个文件并将它们放在我的源代码PHP根目录中
在PHP文件中,需要添加它
在此之后,它只是代码:
它就像一个魅力
试试这个:
完整的代码示例..
尝试一次..
使用PHP的mail()函数是可能的 . 请记住,邮件功能在本地服务器中不起作用 .
参考:
上面的代码对我有用 .
您也可以在https://github.com/PHPMailer/PHPMailer使用PHPMailer类 .
它允许您使用邮件功能或透明地使用smtp服务器 . 它还处理基于HTML的电子邮件和附件,因此您不必编写自己的实现 .
该类是稳定的,它被许多其他项目使用,如Drupal,SugarCRM,Yii和Joomla!
以下是上页中的示例:
这是使用邮件功能发送纯文本邮件的非常基本的方法 .