Я пытаюсь отправить почту с localhost. но я не могу отправить почту с localhost так может кто-нибудь сказать мне, как перенастроить мой xampp для отправки почты с localhost
Как настроить XAMPP для отправки почты с localhost?
Ответ 1
Вы можете отправлять почту с localhost с помощью пакета sendmail, пакет sendmail встроен в XAMPP. Поэтому, если вы используете XAMPP, вы можете легко отправлять почту с локального хоста.
например, вы можете настроить C:\xampp\php\php.ini
и c:\xampp\sendmail\sendmail.ini
на отправку почты gmail.
в C:\xampp\php\php.ini
найдите extension=php_openssl.dll
и удалите точку с запятой в начале этой строки, чтобы заставить SSL работать для gmail для localhost.
в файле php.ini найдите [mail function]
и измените
SMTP=smtp.gmail.com
smtp_port=587
sendmail_from = [email protected]
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
Теперь откройте c:\xampp\sendmail\sendmail.ini
. Замените весь существующий код в sendmail.ini следующим кодом
[sendmail]
smtp_server=smtp.gmail.com
smtp_port=587
error_logfile=error.log
debug_logfile=debug.log
[email protected]
auth_password=my-gmail-password
[email protected]
Теперь ты сделал! создать файл php с функцией почты и отправить почту с localhost.
PS: не забывайте заменить my-gmail-id и my-gmail-password в приведенном выше коде.
Кроме того, не забудьте удалить дубликаты ключей, если вы скопировали настройки сверху. Например, следующая строка комментария, если в файле php.ini есть sendmail_path: sendmail_path="C:\xampp\mailtodisk\mailtodisk.exe"
Также не забудьте перезапустить сервер с помощью панели управления XAMMP, чтобы изменения вступили в силу.
Для gmail проверьте https://support.google.com/accounts/answer/6010255, чтобы разрешить доступ к менее защищенным приложениям.
Для отправки электронной почты на Linux (с пакетом sendmail) через Gmail из localhost, пожалуйста, проверьте PHP + Ubuntu Отправить письмо с помощью формы gmail локальный.
Ответ 2
В XAMPP v3.2.1 для тестирования вы можете увидеть электронные письма, которые XAMPP отправляет в XAMPP/mailoutput. В моем случае в Windows 8 это не требовало дополнительной настройки и было простым решением для проверки электронной почты
Ответ 3
Очень просто отправить электронные письма на локальный или локальный сервер
Примечание. Я использую тестовое почтовое серверное программное обеспечение на Windows 7 64bit с установленной Xampp
Просто скачайте тестовый почтовый серверный инструмент и установите его в соответствии с инструкцией, приведенной на ее веб-сайте Проверить почтовый сервер
Теперь вам нужно изменить только две строки в php.ini
файле
- Найдите
[mail function]
и удалите полуплот, который находится перед;smtp = localhost
- Поместите запятую до
sendmail_path = "C:\xampp\mailtodisk\mailtodisk.exe"
Вам не нужно ничего менять, но если вы все еще не получаете электронную почту, чем проверяете SMTP port
, номер порта должен быть таким же.
Вышеуказанный метод предназначен для настроек по умолчанию, предоставляемых программным обеспечением Xampp.
Ответ 4
Вы должны настроить SMTP на вашем сервере. Вы можете бесплатно использовать SMTP G Suite от Google:
<?php
$mail = new PHPMailer(true);
// Send mail using Gmail
if($send_using_gmail){
$mail->IsSMTP(); // telling the class to use SMTP
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->SMTPSecure = "ssl"; // sets the prefix to the servier
$mail->Host = "smtp.gmail.com"; // sets GMAIL as the SMTP server
$mail->Port = 465; // set the SMTP port for the GMAIL server
$mail->Username = "[email protected]"; // GMAIL username
$mail->Password = "your-gmail-password"; // GMAIL password
}
// Typical mail data
$mail->AddAddress($email, $name);
$mail->SetFrom($email_from, $name_from);
$mail->Subject = "My Subject";
$mail->Body = "Mail contents";
try{
$mail->Send();
echo "Success!";
} catch(Exception $e){
// Something went bad
echo "Fail :(";
}
?>
Узнайте больше о PHPMailer
здесь.
Ответ 5
Вы можете проверить отправку почты на свой компьютер без интернета
Вы должны использовать Papercut это простое приложение для проверки отправки почты. и вам не нужно ничего настраивать.
Просто запустите его и попробуйте проверить отправку почты:
test_sendmail.php
<?php
$to = "[email protected]";
$subject = "My subject";
$txt = "Hello world!";
$headers = "From: [email protected]" . "\r\n" .
"CC: [email protected]";
mail($to,$subject,$txt,$headers);
?>
и вы увидите это:
Я надеюсь, что у вас будет хороший день. Вы можете найти меня на Youtube для более учебника Писет Сок
Не унывайте!
Ответ 6
Для людей на окнах 8, если вы хотите сделать это, я бы действительно рекомендовал прочитать этот учебник, который я нашел: http://yogeshchaugule.com/blog/2013/configure-sendmail-wamp
Не написано мной, но после того, как я ударил головой в бетонную стену в течение 2,5 часов, не получив этого, чтобы работать с такими странными ошибками, как:
- Время ожидания подключения.
- Соединение закрыто. Изящно.
Наконец-то я нашел, что учебник был посвящен установке https://www.stunnel.org/downloads.html и конфигурации Stunnel. Наконец он работал.
Ответ 7
Как и в моем личном опыте, я обнаружил, что ответ, очень похожий на ответ Викаса Двиведи, будет прекрасно работать.
Шаг 1 (файл php.ini)
В файле php.ini находится в xampp\php\php.ini
. Измените настройки на следующие:
extension=php_openssl.dll
[mail function]
sendmail_path =":\xampp7\sendmail\sendmail.exe -t"
mail.add_x_header=On
Отключите другие переменные в mail funciton
, поставив ;
до них. например ;smtp_port=25
Шаг 2 (файл sendmail.ini)
В sendmail.ini, расположенном в xampp\sendmail\semdmail.ini, измените следующее:
smtp_server=smtp.gmail.com
smtp_port=465
smtp_ssl=auto
[email protected]
auth_password=YourPassword
Шаг 3 (код)
Создайте файл php и используйте следующее:
<?php
mail($to, "subject", "body", "From: ".$from);
?>
уведомление
- Вам нужно перезапустить apache, чтобы php.ini перезагрузился.
- вам нужно активировать Google Безопасный доступ к приложениям в https://myaccount.google.com/u/1/security
- Это может помочь запустить Xampp с правами администратора.
Ответ 8
Если у вас установлена последняя версия xampp, проверьте эту ссылку для полной документации по отправке электронных писем через xampp. Вы должны включить Apache, прежде чем пытаться получить доступ по ссылке ниже
Ответ 9
Для этого вам нужно определить сервер SMTP
и порт. Все, кроме отправки сообщений с живых хостов.
Это полезная ссылка для этого.
Примечание. Порт должен быть не использован. Пожалуйста, позаботьтесь о том, чтобы некоторые приложения, такие как
Skype
, используют порты по умолчанию, а там предотвращают отправка mail.
Ответ 10
просто потратил более часа, пытаясь сделать эту работу. для всех, у кого есть те же проблемы со всеми предложениями, которые не работают: вы должны перезапустить Apache в своем интерфейсе XAMPP! просто перезапуск XAMPP не работает!!
Ответ 11
Этот код используется для почты с вашего локального хоста XAMPP и вашей учетной записи Gmail. Этот код очень прост и работает для меня, попробуй сам.
Ниже изменения в файле php.ini
SMTP=smtp.gmail.com
smtp_port=587
sendmail_from = [email protected]
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
extension=php_openssl.dll
Ниже изменения в файле sendmail.ini
smtp_server=smtp.gmail.com
smtp_port=587
error_logfile=error.log
debug_logfile=debug.log
[email protected]
auth_password=your-gmail-password
[email protected]
Пожалуйста, напишите любимый код в вашем PHP файле, чтобы отправить письмо
<?php
$to = "[email protected]";
$subject = "Test Mail";
$headers = "From: [email protected]\r\n";
$headers .= "Reply-To: [email protected]\r\n";
$headers .= "CC: [email protected]\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$message = '<html><body>';
$message .= '<img src="//css-tricks.com/examples/WebsiteChangeRequestForm/images/wcrf-header.png" alt="Website Change Request" />';
$message .= '<table rules="all" style="border-color: #666;" cellpadding="10">';
$message .= "<tr style='background: #eee;'><td><strong>Name:</strong> </td><td>Details</td></tr>";
$message .= "<tr><td><strong>Email:</strong> </td><td>Details</td></tr>";
$message .= "<tr><td><strong>Type of Change:</strong> </td><td>Details</td></tr>";
$message .= "<tr><td><strong>Urgency:</strong> </td><td>Details</td></tr>";
$message .= "<tr><td><strong>URL To Change (main):</strong> </td><td>Details</td></tr>";
$addURLS = 'google.com';
if (($addURLS) != '') {
$message .= "<tr><td><strong>URL To Change (additional):</strong> </td><td>" . $addURLS . "</td></tr>";
}
$curText = 'dummy text';
if (($curText) != '') {
$message .= "<tr><td><strong>CURRENT Content:</strong> </td><td>" . $curText . "</td></tr>";
}
$message .= "<tr><td><strong>NEW Content:</strong> </td><td>New Text</td></tr>";
$message .= "</table>";
$message .= "</body></html>";
if(mail($to,$subject,$message,$headers))
{
echo "Mail Send Sucuceed";
}
else{
echo "Mail Send Failed";
}
?>