С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
1 / 1 / 0
Регистрация: 27.05.2017
Сообщений: 36

Mail() на локальном сервере

25.07.2017, 17:37. Показов 3844. Ответов 3

Студворк — интернет-сервис помощи студентам
Захотелось потестить функцию mail() на локальном сервере. Я начал гуглить, и почти во всех форумах советовали установить openserver и тому подобное.
Вопрос: Можно ли как нибудь потестить mail() не устанавливая какие-то там Денвер и опенсервер'а? На пк установлен php, mysql, apache, phpmyadmin.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.07.2017, 17:37
Ответы с готовыми решениями:

Запуск на локальном сервере
Здравствуйте, Друзья. Знакомлюсь с HTML. Установил Denwer3 (Ос - Windows7). Создал документ .html <!DOCTYPE HTML PUBLIC...

Просмотр сессий на локальном сервере
Добрый день. При работе с куками, пользовался удобным инструментом мазилы. Но сессии там не отображаются. Полагаю, что дело в том, что я...

Index.php на локальном сервере
Файл index.php не работает на локальном сервере apache. Подскажите пожалуйста куда копать. if($_SERVER == '/'){ $page =...

3
97 / 47 / 17
Регистрация: 25.04.2017
Сообщений: 471
25.07.2017, 18:06
KennyFox,

Я когда-то пользовался такой функцией для отправки с авторизацией через SMTP

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<?php
/*
* отправка почты с авторизацией через SMTP
*/
function smtpmail($mail_to, $subject, $message, $headers='') {
    $config['smtp_username'] = 'Ваша почта Gmail';
    $config['smtp_password'] = 'Ваш пароль от почты Gmail';
    $config['smtp_from'] = 'Ваша почта Gmail';
    $config['smtp_host'] = 'smtp.gmail.com';
    $config['smtp_port'] = '587';
    $config['smtp_debug'] = true;
    $config['smtp_charset'] = 'UTF-8';
 
    $SEND = "Date: ".date("D, d M Y H:i:s") . " UT\r\n";
    $SEND .= 'Subject: =?'.$config['smtp_charset'].'?B?'.base64_encode($subject)."=?=\r\n";
 
    if ($headers) {
        $SEND .= $headers."\r\n\r\n";
    } else {
        $SEND .= "Reply-To: ".$config['smtp_username']."\r\n";
        $SEND .= "MIME-Version: 1.0\r\n";
        $SEND .= "Content-Type: text/plain; charset=\"".$config['smtp_charset']."\"\r\n";
        $SEND .= "Content-Transfer-Encoding: 8bit\r\n";
        $SEND .= "From: \"".$config['smtp_from']."\" <".$config['smtp_username'].">\r\n";
        $SEND .= "To: $mail_to <$mail_to>\r\n";
        $SEND .= "X-Priority: 3\r\n\r\n";
    }
 
    $SEND .= $message."\r\n";
 
    if(!$socket = fsockopen($config['smtp_host'], $config['smtp_port'], $errno, $errstr, 30)) {
        if ($config['smtp_debug']) echo $errno."<br>".$errstr;
        return false;
    }
    if (!server_parse($socket, "220", __LINE__)) return false;
    fputs($socket, "EHLO " . $config['smtp_host'] . "\r\n");
    if (!server_parse($socket, "250", __LINE__)) {
        if ($config['smtp_debug']) echo '<p>Не могу отправить EHLO!</p>';
        fclose($socket);
        return false;
    }
    fputs($socket, "AUTH LOGIN\r\n");
    if (!server_parse($socket, "334", __LINE__)) {
        if ($config['smtp_debug']) echo '<p>Не могу найти ответ на запрос авторизации!</p>';
        fclose($socket);
        return false;
    }
    fputs($socket, base64_encode($config['smtp_username']) . "\r\n");
    if (!server_parse($socket, "334", __LINE__)) {
        if ($config['smtp_debug']) echo '<p>Логин авторизации не был принят сервером!</p>';
        fclose($socket);
        return false;
    }
    fputs($socket, base64_encode($config['smtp_password']) . "\r\n");
    if (!server_parse($socket, "235", __LINE__)) {
        if ($config['smtp_debug']) echo '<p>Пароль не был принят сервером как верный! Ошибка авторизации!</p>';
        fclose($socket);
        return false;
    }
    fputs($socket, "MAIL FROM: <".$config['smtp_username'].">\r\n");
    if (!server_parse($socket, "250", __LINE__)) {
        if ($config['smtp_debug']) echo '<p>Не могу отправить команду MAIL FROM:</p>';
        fclose($socket);
        return false;
    }
    fputs($socket, "RCPT TO: <" . $mail_to . ">\r\n");
    if (!server_parse($socket, "250", __LINE__)) {
        if ($config['smtp_debug']) echo '<p>Не могу отправить команду RCPT TO:</p>';
        fclose($socket);
        return false;
    }
    fputs($socket, "DATA\r\n");
    if (!server_parse($socket, "354", __LINE__)) {
        if ($config['smtp_debug']) echo '<p>Не могу отправить команду DATA!</p>';
        fclose($socket);
        return false;
    }
    fputs($socket, $SEND."\r\n.\r\n");
    if (!server_parse($socket, "250", __LINE__)) {
        if ($config['smtp_debug']) echo '<p>Не могу отправить тело письма. Письмо не было отправлено!</p>';
        fclose($socket);
        return false;
    }
    fputs($socket, "QUIT\r\n");
    fclose($socket);
    return TRUE;
}
function server_parse($socket, $response, $line = __LINE__) {
    global $config;
    $server_response="";
    while (substr($server_response, 3, 1) != ' ') {
        if (!($server_response = fgets($socket, 256))) {
            if ($config['smtp_debug']) echo "<p>Проблемы с отправкой почты!</p>$response$line";
            return false;
        }
    }
    if (!(substr($server_response, 0, 3) == $response)) {
        if ($config['smtp_debug']) echo "<p>Проблемы с отправкой почты!</p>$response$line";
        return false;
    }
    return true;
}
Вместо mail() используем smtpmail()

Данные SMTP можно найти на разных почтовиках, в данном примере используется Gmail.
1
97 / 47 / 17
Регистрация: 25.04.2017
Сообщений: 471
25.07.2017, 18:08
В OS это всё делается проще
Миниатюры
Mail() на локальном сервере  
0
39 / 35 / 23
Регистрация: 10.11.2013
Сообщений: 89
27.07.2017, 08:13
под windows использую sendmail или phpmailer
1. скачиваете архив
2. распаковываете
3. прописываете блоки и пути


php.ini
--
[mail function]
sendmail_path = "C:\папка\sendmail\sendmail.exe -t"



sendmail.ini
--
smtp_server=smtp.*.ru
smtp_port=465
auth_username=*@*.*
auth_password=***
force_sender=*@*.*
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.07.2017, 08:13
Помогаю со студенческими работами здесь

Что с абсолютными адресами на локальном сервере?
У меня установлен локальный сервер (денвер) в папке Z:/denwer/www. При использовании dirname(__FILE__) в require (пишу...

Различная дата на локальном сервере и хостинге
Здравствуйте. При регистрации в поле бд date с типом datetime добавляется текущее время. Перемести сайт на хостинг, так там в бд пишется...

Установить куки на домен и сабдомены. На сервере работает, на локальном нет
Добрый день! Как установить куки на домен и сабдомены? Пробовал setcookie(&quot;c_nickname&quot;, 'MCB', time() +...

Ошибка Warning: include(./auth.php): на локальном web-сервере
Здравствуйте пользователи cuberforum. Возникла такая проблема подключил значит я к примеру файл auth.php на сайте который куплен на...

При создании сайта на локальном сервере, на странице браузера, вместо кириллицы - кракозябры
Создаю свой первый сайт. В phpMyAdmin в БД во вкладке &quot;Структура&quot; в колонке &quot;Сравнение&quot; напротив introtext и fulltext значится -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru