我在一个网站上使用PHP,我想添加电子邮件功能。
我安装了WampServer。
如何使用PHP发送电子邮件?
我在一个网站上使用PHP,我想添加电子邮件功能。
我安装了WampServer。
如何使用PHP发送电子邮件?
当前回答
这可以使用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);
?>
参考:
邮件
其他回答
这是非常基本的方法发送纯文本电子邮件使用邮件功能。
<?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);
你可以做一个测试,如果你需要它通过修补如下代码
# 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 = "somebody@example.com";
$subject = "My subject";
$txt = "Hello world!";
$headers = "From: webmaster@example.com" . "\r\n" .
"CC: somebodyelse@example.com";
mail($to,$subject,$txt,$headers);
?>
使用PHPMailer通过邮件发送用户密码的步骤:
步骤1:首先,从GitHub下载PHPMailer软件包
您只需下载PHPMailer源文件并手动包含所需的文件。
您可以从PHPMailer主页[1]下载带有源代码的ZIP文件, 点击“克隆或下载”绿色按钮(右侧),然后选择“下载ZIP”。 在要保存源文件的目录中解压缩包。
[1] https://github.com/PHPMailer/PHPMailer
第二步:打开“(来自Gmail地址)谷歌帐户”,执行以下步骤:
禁用谷歌帐号的双因素密码验证。 打开Less Security。 允许第三方应用程序。
步骤3:尝试使用下面的代码(注意:在这里,我只提供了使用PHP和MySQL通过电子邮件发送用户密码的功能代码)
<?php
session_start();
use PHPMailer\PHPMailer\PHPMailer; //add use in starting of the code
$db = mysqli_connect('localhost', 'root', '', '[Enter your Database Name]'); // connect to database
if (isset($_POST['forgot_btn'])) {
forgotpassword();
}
function forgotpassword(){
global $db;
$user_id = $_POST['user_id'];
$result = mysqli_query($db,"SELECT * FROM users where user_id='$user_id'");
$row = mysqli_fetch_assoc($result);
$fetch_user_id=$row['user_id'];
$name=$row['name'];
$email_id=$row['email_id'];
$password=$row['password'];
if($user_id==$fetch_user_id) {
require '../PHPMailer/vendor/autoload.php'; //Please correctly mention the PHPMailer installed directory (Don't follow my directory)
$mail = new PHPMailer(TRUE);
try{
$mail->setFrom('[Enter your From Email_Address]', '[Enter Sender Name]');
$mail->addAddress($email_id, $name); //[To Email Address and Name]
$mail->Subject = 'Regarding Forgot Password';
$mail->Body = 'Hi '.$name.',Your Login Password is:'.$password.'';
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = TRUE;
$mail->SMTPSecure = 'tls';
$mail->Username = '[Enter your From Email_Address]';
$mail->Password = '[Enter your From Email_Address -> Password]';
$mail->Port = 587;
if($mail->send())
{
echo "<script>alert('Password Sent Successfully');</script>";
}
else
{
echo "<script>alert('Please Check Your Internet Connection or From Email Address/Password or Wrong To Email Address');</script>";
}
}
catch (Exception $e)
{
echo "<script>alert('Please Check Your Internet Connection or From Email Address/Password or Wrong To Email Address');</script>";
}
}
}
?>
更多信息请参考这些文档[1]:
[1]. https://alexwebdevelop.com/phpmailer-tutorial/
我在cPanel中使用了这个方法,一切工作正常:
<?php
$dest = "destination@domain.tld";
$fromaddy = "cpaneluser@domain.tld";
mail("<$dest>","Test from php mail","Test","From:<$fromaddy>","-f$fromaddy");
?>