Как отправить письмо без моего собственного почтового сервера через PHP? - PullRequest
2 голосов
/ 22 декабря 2009

Можно ли использовать почтовый сервер Google для тестирования и заменить адрес почтового сервера, когда мой собственный сервер будет готов?

Ответы [ 4 ]

1 голос
/ 22 декабря 2009

Я предлагаю вам использовать 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.

Ps: не пытайтесь отправлять nesletter через gmail;они заблокируют вашу учетную запись на 1 день, если вы отправите более $ x электронной почты в день ($ x в документации Google составляет 500, но мой опыт говорит, что это около 85!)

1 голос
/ 22 декабря 2009

Вы можете просто отправлять свои письма через smtp.gmail.com (порт 465 или 587), как с любым почтовым клиентом. Обратите внимание, что для этого вам потребуется учетная запись электронной почты Google. Подробнее здесь: Настройка почтовых клиентов для использования GMail

0 голосов
/ 22 декабря 2009

Если вы используете сервер Windows, вы можете просто сделать это (если у вас есть доступ к php.ini). В противном случае следуйте советам Сарфраза.

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

mail(...);
?>
0 голосов
/ 22 декабря 2009

Да, Google предлагает это через SMTP.

smtp.google.com

порт: 587

Вам также понадобятся имя пользователя и пароль Google для отправки писем.

Вам нужен класс php smtp. PHPMailer имеет один.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...