@NamZess

Почему php не отправляет письмо на телеграм?

Выдает error когда на хостинге, но когда тестирую на локальном сервере все ок (использую бесплатный хостинг infinityfree)

<?php


$name1 = $_POST['name'];
$name2 = $_POST['2name'];
$name = "$name1 + $name2";

$token = "6144265833:AAHiMA0Kia-HrXwfk8GGNZPNlMMsi6BD-FY";
$chat_id = "-850257634";
$arr = array(
  'Клієнт:' => $name,
  // 'Товар 1:' => $goods_0,
);

foreach($arr as $key => $value ) {
  if ($value > 0) {
    $txt .= "<b>".$key."</b> ".$value."%0A";
  };
};

$sendToTelegram = fopen("https://api.telegram.org/bot{$token}/sendMessage?chat_id={$chat_id}&parse_mode=html&text={$txt}","r");

if ($sendToTelegram) {
  echo "wwww";
} else {
  echo "Error";
}
?>
  • Вопрос задан
  • 123 просмотра
Решения вопроса 2
@rPman
{$txt}
текст в ссылках должен быть пропущен через urlencode, а еще у тебя там минус в идентификаторе

так же настоятельно рекомендую, прежде чем делать приложение, протестировать ссылки вручную через curl, будет видно и ответ, а с ключом -v подробности и заголовки ответа.

fopen не самый лучший способ коммуникации по сети, проще было бы file_get_contents использовать, и у него есть context, который позволяет много что настроить в запросе) но лучше пользоваться встроенный curl_xxx
Ответ написан
@zvlad_vitamin
Шановний, якщо ти сюди скинув робочий ключ АПІ, то зміни його в боті, а то фігня буде.
Замість fopen використовуй curl або file_get_contents
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы