it-roy-ru.com

Как отправить электронное письмо с локального сервера?

Я нахожу правильную информацию о том, как отправить электронное письмо от localhost WAMP . И как получить разрешение на отправку электронной почты с определенного авторизованного адреса электронной почты для отправки любого другого адреса электронной почты. 

Как настроить весь этот шаг, объясните мне детали, я уже посетил здесь несколько ответов о переполнении стека, а также сообщение в блоге, но все они очень запутанные и устарели, поэтому, возможно, они не будут работать. Так что мне нужна помощь пользователей Stack Overflow. Спасибо.

20
Jay Patel

Настроить работающий почтовый клиент из localhost довольно непросто, я потратил часы разочарования, пытаясь это сделать. Наконец я нашел способ отправки почты (используя WAMP, XAMPP и т.д.):

Установить hMailServer

Настройте этот параметр hMailServer:

  1. Откройте администратор hMailServer.
  2. Нажмите кнопку «Добавить домен ...», чтобы создать новый домен. 
  3. Под текстовым полем домена введите IP-адрес локального компьютера вашего компьютера .
    • Пример: 127.0.0.1 - ваш локальный IP-адрес.
  4. Нажмите кнопку «Сохранить».
  5. Теперь перейдите в Настройки> Протоколы> SMTP и выберите вкладку «Доставка электронной почты».
  6. Найдите поле localhost и введите "localhost".
  7. Нажмите кнопку Сохранить.

Настройте свою учетную запись Gmail, выполните следующие изменения:

  1. Перейдите в Настройки> Протоколы> SMTP и выберите вкладку «Доставка электронной почты».
  2. Введите «smtp.gmail.com» в поле «Имя удаленного хоста».
  3. Введите «465» в качестве номера порта.
  4. Проверьте «Сервер требует аутентификации».
  5. Введите свой адрес электронной почты Google в поле Имя пользователя.
  6. Введите свой пароль Google Mail в поле пароля.
  7. Галочка "Использовать SSL"
  8. Сохраните все изменения.

Необязательный

Если вы хотите отправлять электронную почту с другого компьютера, вам нужно разрешить доставку с внешних на внешние учетные записи, выполнив следующие действия:

  1. Перейдите в «Настройки»> «Дополнительно»> «Диапазоны IP-адресов» и дважды щелкните «Мой компьютер», который должен иметь IP-адрес 127.0.0.1
  2. Установите флажок Разрешить доставку с внешних на внешние учетные записи.
  3. Сохраните настройки, используя кнопку Сохранить.
18
Jay Patel

Для меня Поддельный Sendmail работает.

Что делать:

1) Правка C:\wamp\sendmail\sendmail.ini:

smtp_server=smtp.gmail.com
smtp_port=465
[email protected]
auth_password=your_password

2) Отредактируйте php.ini и установите sendmail_path

sendmail_path = "C:\wamp\sendmail\sendmail.exe -t"

Вот и все. Теперь вы можете проверить почту.

7
Anand Singh

Попробуйте использовать поддельный sendmail для отправки писем в среде WAMP.

http://jesin.tk/using-sendmail-on-windows/

3
tchow002
a) Open the "php.ini". For XAMPP,it is located in C:\XAMPP\php\php.ini. Find out if you are using WAMP or LAMP server. Note : Make a backup of php.ini file 

b) Search [mail function] in the php.ini file. 

You can find like below.
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25


; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = [email protected]


Change the localhost to the smtp server name of your ISP. No need to change the smtp_port. Leave it as 25. Change sendmail_from from [email protected] to your domain email address which will be used as from address.. 

So for me, it will become like this.
[mail function]
; For Win32 only.
SMTP = smtp.planetghost.com
smtp_port = 25
; For Win32 only.
sendmail_from = [email protected]
auth_username = [email protected]
auth_password = example_password


c) Restart the XAMPP or WAMP(Apache server) so that changes will start working.

d) Now try to send the mail using the mail() function , 

mail("[email protected]","Success","Great, Localhost Mail works");

кредит

================================================== ==============================

По-другому 

Серверы Gmail используют SMTP-аутентификацию по SSL. Я думаю, что нет возможности использовать функцию mail () при таких обстоятельствах, поэтому вы можете проверить следующие варианты:

  1. ГРУША: почта
  2. phpMailer

Они оба поддерживают SMTP-аутентификацию по SSL.

Кредит: Проверить ответ здесь

2
Mitul Shah

Если у вас есть настройка Wamp, которая не будет отправлять электронную почту, есть только несколько вещей, которые нужно сделать. 1. узнайте, каково имя сервера smtp для вашего провайдера. Gmail - скорее всего ненужное осложнение 2. создайте файл phpsetup.php в папке «www» и отредактируйте так:

<?php
   phpinfo();
?>

это даст вам представление о том, что использует вамп .. ... 3. найдите файл php.ini. может быть несколько. Тот, который вам нужен, тот, который влияет на вывод файла выше . 4. найти адрес smtp в наиболее вероятном php.ini . 5. Введите в своем браузере localhost/phpsetup.php и прокрутите вниз до настройки smtp. это должно сказать 'localhost' 6. измените настройку smtp файла php.ini на имя smtp-сервера вашего провайдера . проверьте, изменился ли он для вас phpsetup.php. если это работает, вы сделали, если нет, вы работаете не тот файл.

эта проблема должна быть на сайте Wordpress, но они слишком самодостаточны или пытаются привлечь клиентов .;)

0
Hotwire

Здесь приведены шаги для отправки электронной почты с локального хоста на wamp-сервер с Sendmail.

  1. Для начала вам необходимо скачать ZIP-файл Sendmail ссылка
  2. Извлеките Zip-файл и поместите его в C:\wamp
  3. Теперь вам нужно отредактировать Sendmail.ini на C:\wamp\sendmail\sendmail.ini
smtp_server=smtp.gmail.com 
smtp_port=465
[email protected]
auth_password=your_password
  1. Доступ к вашей учетной записи электронной почты. Нажмите Gear> Настройки> Пересылка и POP/IMAP> Доступ по IMAP. Нажмите «Включить IMAP», а затем save свои изменения
  2. Запустите свой сервер WAMP. Включите модуль ssl_module в модуле Apache.
  3. Затем включите php_openssl и php_sockets в PHP.
  4. ** Теперь важной частью откройте файл php.ini в "C:\wamp\bin\php\php5.5.12\php.ini" и "C:\wamp\bin\Apache\apache2.4.9\bin\php.ini" set sendmail_path ** 

sendmail_path = "C:\wamp\sendmail\sendmail.exe -t"

  1. Перезагрузите Wamp-сервер.

Это, безусловно, будет работать.

0
Khaled Rahman

Вот ЛУЧШИЙ способ отправки электронной почты с использованием библиотеки PHPmailer, это единственный метод, который мне подходит.

require_once 'mailer/class.phpmailer.php';
    $mail = new PHPMailer(); // create a new object
    $mail->IsSMTP(); // enable SMTP
    $mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only
    $mail->SMTPAuth = true; // authentication enabled
    $mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for GMail
    $mail->Host = "smtp.gmail.com";
    $mail->Port = 465; // or 587
    $mail->IsHTML(true);
    $mail->Username = "[email protected]";
    $mail->Password = "xxxxxxx";
    $mail->SetFrom("[email protected]");
    $mail->AddAddress($to);
    $logfile = dirname(dirname(__FILE__)) . '/mail.log';
    try {
        $mail->Body = $message;
        $mail->Subject = $subject;


        file_put_contents($logfile, "Content: \n", FILE_APPEND);
        file_put_contents($logfile, $message . "\n\n", FILE_APPEND);

        if(!$mail->Send()) {
            echo "Mailer Error: " . $mail->ErrorInfo;
        } else {
            echo "Email has been sent";
        }
    } catch (Exception $e) {
        #print_r($e->getMessage());
        file_put_contents($logfile, "Error: \n", FILE_APPEND);
        file_put_contents($logfile, $e->getMessage() . "\n", FILE_APPEND);
        file_put_contents($logfile, $e->getTraceAsString() . "\n\n", FILE_APPEND);
    }
0
Umair

Без SMTP-сервера, отправляющего почту, используйте этот код для отправки почты ....

click below for mail sending code

Кликните сюда

слушайте, ребята, сначала вы можете сделать это менее безопасно свою учетную запись Gmail после отправки почты с вашей учетной записью Gmail

Вы можете использовать эту настройку php.ini

;smtp = smtp.gmail.com
;smtp-port = 25
;sendmail_from = my gmail is here

И настройки sendmail.ini

smtp_server = smtp.gmail.com
smtp_port = 465
smtp_ssl = auto
auth_username = my gmail is here
auth_password = password
hostname = localhost

you can try this changes and i hope this code sent mail....
0
Avdhesh