我在一个网站上使用PHP,我想添加电子邮件功能。
我安装了WampServer。
如何使用PHP发送电子邮件?
我在一个网站上使用PHP,我想添加电子邮件功能。
我安装了WampServer。
如何使用PHP发送电子邮件?
当前回答
我尝试在我的快速时间,我有同样的问题,但经过适当的研究,我解决了它。以下是我的方法。您必须下载PHPMailer源文件,并在项目中手动包含所需的文件。
您可以从PHPMailer主页1下载带有源代码的ZIP文件,点击“克隆或下载”绿色按钮(在右侧),然后选择“下载ZIP”。在要保存源文件的目录中解压缩包。
1来自:GitHub。 第二步:打开“(来自Gmail地址)谷歌帐户”,执行以下步骤:
禁用谷歌帐号的双因素密码验证。
Turn on Less Security. Allow third party app. There you Go.. <?php use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; require 'PHPMailer/src/Exception.php'; require 'PHPMailer/src/PHPMailer.php'; require 'PHPMailer/src/SMTP.php'; session_start(); if (isset($_POST['send'])) { $email = $_POST['email']; $subject = $_POST['subject']; $message = "I am trying"; //Load composer's autoloader $mail = new PHPMailer(true); try { //Server settings $mail->isSMTP(); $mail->Host = 'smtp.gmail.com'; $mail->SMTPAuth = true; $mail->Username = 'youremail@gmail.com'; $mail->Password = 'password'; $mail->SMTPOptions = array( 'ssl' => array( 'verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true ) ); $mail->SMTPSecure = 'ssl'; $mail->Port = 465; //Send Email $mail->setFrom('youremail@gmail.com'); //Recipients $mail->addAddress($email); $mail->addReplyTo('youremail@gmail.com'); //Content $mail->isHTML(true); $mail->Subject = $subject; $mail->Body = $message; $mail->send(); $_SESSION['result'] = 'Message has been sent'; $_SESSION['status'] = 'ok'; } catch (Exception $e) { $_SESSION['result'] = 'Message could not be sent. Mailer Error: ' . $mail->ErrorInfo; $_SESSION['status'] = 'error'; echo 'Message could not be sent. Mailer Error: ' . $mail->ErrorInfo; } } header("location: forgotPassword.php");
其他回答
$emailTextHtml='<h1>email sent from php use by phpmailer</h1>';
require 'PHPMailer/PHPMailerAutoload.php';
$mail = new PHPMailer(true); // Passing `true` enables exceptions
try {
//Server settings
//$mail->SMTPDebug = 2; // Enable verbose debug output
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = 'smtp.gmail.com'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = 'demo@gmail.com'; // SMTP username of gmail
$mail->Password = '2345678'; // SMTP password of gmail
$mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 587; // TCP port to connect to
//Recipients
$mail->setFrom('anupam@gmail.com', 'study'); // provide your gmail username
$mail->addAddress('komal@gmail.com', 'study'); // Add a recipient
$mail->addReplyTo('anupamverma@gmail.com', 'Information');
//Content
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = 'Register client details and total client details';
$mail->Body= "$emailTextHtml"; //write the html code
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
$mail->send();
echo 'Message has been sent';
} catch (Exception $e) {
echo 'Message could not be sent. Mailer Error: ', $mail->ErrorInfo;
}
这可以使用PHP的mail()函数实现。记住,邮件功能将不能在本地服务器上工作。
<?php
$to = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
'Reply-To: webmaster@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
?>
参考:
邮件
你可以做一个测试,如果你需要它通过修补如下代码
# SSH into droplet
# go to project
$ php artisan tinker
$ Mail::send('errors.401', [], function ($message) { $message->to('emmanuelbarturen@gmail.com')->subject('this works!'); });
# check your mailbox
这是非常基本的方法发送纯文本电子邮件使用邮件功能。
<?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);
还可以查看PEAR邮件包PEAR mail Page
它似乎比内置的标准mail()函数健壮一些(如果标准函数不够的话)。
下面是该页面的一段摘录,展示如何使用它。PEAR邮件发送()用法
<?php
include('Mail.php');
$recipients = 'joe@example.com';
$headers['From'] = 'richard@example.com';
$headers['To'] = 'joe@example.com';
$headers['Subject'] = 'Test message';
$body = 'Test message';
$smtpinfo["host"] = "smtp.server.com";
$smtpinfo["port"] = "25";
$smtpinfo["auth"] = true;
$smtpinfo["username"] = "smtp_user";
$smtpinfo["password"] = "smtp_password";
// Create the mail object using the Mail::factory method
$mail_object =& Mail::factory("smtp", $smtpinfo);
$mail_object->send($recipients, $headers, $body);
?>