如何通过PHP发送没有我自己的邮件服务器的电子邮件?

时间:2009-12-22 08:35:30

标签: php email

是否可以使用Google的邮件服务器进行测试,并在我自己的服务器准备好后替换邮件服务器的地址?

4 个答案:

答案 0 :(得分:1)

您可以通过smtp.gmail.com(端口465或587)发送邮件,就像使用任何电子邮件客户端一样。请注意,您需要一个Google电子邮件帐户。更多详情请点击此处:Configuring email clients for using GMail

答案 1 :(得分:1)

我建议您使用phpmailer,这是一个使用它的示例工作代码:

<?php
include_once("phpmailer/class.phpmailer.php");
$mail = new PHPMailer();
$mail->IsSMTP();
// enable SMTP authentication
$mail->SMTPAuth = true;
// sets the prefix to the server
$mail->SMTPSecure = "ssl";
// sets GMAIL as the SMTP server
$mail->Host = 'smtp.gmail.com';
// set the SMTP port
$mail->Port = '465';
// GMAIL username
$mail->Username = 'your.gmail.user@gmail.com';
// GMAIL password
$mail->Password = 'your-gmail-password';

$mail->From = 'email address who send the email';
$mail->FromName = 'yourname';
$mail->AddReplyTo('email to reply', 'name to reply');
$mail->Subject = 'Test Gmail!';
if($is_your_mail_an_html){
    $mail->MsgHTML($html_message);
    $mail->IsHTML(true);
}else{
    $mail->Body = $text_message;
    $mail->IsHTML(false);

}
$mail->AddAddress('to address email', 'to name');

if(!$mail->Send()){
    echo = $mail->ErrorInfo;
}else{
    $mail->ClearAddresses();
    $mail->ClearAttachments();
}
?>

但即使没有phpmailer,你也可以使用gmail发送电子邮件;只需将端口设置为465并启用ssl auth。

P.s。:不要尝试通过gmail发送nesletter;如果您每天发送超过$ x的电子邮件,他们会阻止您的帐户1天(在Google文档中,$ x是500,但我的经验表明这是85左右!)

答案 2 :(得分:0)

是的谷歌确实提供了通过smtp。

smtp.google.com

port:587

您还需要使用Google用户名和密码才能发送电子邮件。

你需要一个php smtp类。 PHPMailer有一个。

答案 3 :(得分:0)

如果你运行Windows服务器,你可以这样做(如果你有权访问php.ini)。否则请遵循Sarfraz的建议。

<?php
ini_set('sendmail_from','test@test.com');
ini_set('SMTP','smtp.test.net');

mail(...);
?>