如何通过PHP向GMail发送电子邮件?
我猜这个:如何通过PHP向GMail发送电子邮件?
<?php
$emailTo = '[email protected]';
$subject = 'I hope this works!';
$body = 'Blah';
$headers='From: [email protected]'
mail($emailTo, $subject, $body, $headers);
?>
是不会削减它。我搜索了,我可以发送SMTP认证和邮件客户端以及诸如PHPMailer的方案,以电子邮件的方式,但我没有一个简洁而直接的答案又那有帮助。基本上,我希望的方式来发送电子邮件到Gmail,Hotmail等(这将是我的电子邮件)从通过表单另一个电子邮件(发送者)在我的网站
问题:
- 我需要下载第三方库到这个?
- 如果没有,我怎么可以改变上面的代码,使其工作。
谢谢!
使用PHPMailer的library.It比使用邮件的本地函数更好,因为在PHPMailer的,你可以使用用户身份验证,以避免邮件发送到spam.You可以使用这个库而无需配置邮件服务器。您可以在这个环节https://github.com/PHPMailer/PHPMailer
下载,见一个例子:
$mail = new PHPMailer();
$mail->IsSMTP(); // telling the class to use SMTP
$mail->Host = "mail.yourdomain.com"; // SMTP server
$mail->SMTPDebug = 2; // enables SMTP debug information (for testing)
// 1 = errors and messages
// 2 = messages only
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->SMTPSecure = "tls";
$mail->Host = "smtp.gmail.com"; // SMTP server
$mail->Port = 587; // SMTP port
$mail->Username = "[email protected]"; // username
$mail->Password = "yourpassword"; // password
$mail->SetFrom('[email protected]', 'Test');
$mail->Subject = "I hope this works!";
$mail->MsgHTML('Blah');
$address = "[email protected]";
$mail->AddAddress($address, "Test");
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
只是为了澄清: SetFrom是发送者和AddReplyTo会是我,接收器,是吗? 另外,AddReplyTo也可以等同于一个Gmail地址吗? –
在这种情况下,您不需要addReplyTo,SetFrom是发件人。接收者是$ mail-> AddAddress。 – msantos
我明白了。谢谢!还有一件事: $ mail-> Host =“mail.yourdomain.com”; 通过YOURDOMAIN你的意思是网站的域或UR使用这种情况下,邮件域? –
是,只是去PHPMailer的或swiftmailer。 'mail()'是mickey-mouse垃圾,只能用于简单/本地的东西。 –
@MarcB真..不幸的是,即时通讯新的PHP和使用库有困难的IM .. –