Архив метки: Без рубрики

Беспроводной мост TP-Link > MikroTik – часть2 – подключение к нескольким точкам доступа.

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

В организации действует 3 беспроводных моста, каждый со своей точкой доступа. Точки направлены перпендикулярно друг другу, но какие-то боковые лепестки диаграммы направленности попадают в филиал, где тестировался микротик. Такая ситуация представила возможность отработать взаимодействие станции с несколькими точками доступа для увеличения надежности связи с сервером и доступа в Интернет. Если откажет одна точка доступа, станция автоматически переключится на следующую.

В схеме участвуют 3 точки доступа TP-Link CPE510 и клиентская станция MikroTik SXTsq Lite5 с прошивкой 6.49, ее и будем настраивать.

Освоить MikroTik Вы можете с помощью онлайн-куса
«Настройка оборудования MikroTik». Курс содержит все темы, которые изучаются на официальном курсе MTCNA. Автор курса – официальный тренер MikroTik. Подходит и тем, кто уже давно работает с микротиками, и тем, кто еще их не держал в руках. В курс входит 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.

 

Подключаемся в MikroTik из локальной сети через WinBox .

Настройка безопасности беспроводного соединения.

Wireless >> Security Profiles >> нажимаем синий плюс для добавления нового профиля.

Настройки как на картинке ниже.

Подробное описание и назначение настроек см. в части1.

Создаем профиль безопасности для каждой дополнительной точки доступа. У всех точек разные пароли. В конце имени профиля указан номер точки доступа, которой он соответствует.

 

Настройка беспроводного интерфейса.

Wireless >> WiFi Interfaces >> wlan1 >> Wireless.

Красной рамкой обведены настройки, на которые следует обратить внимание.

Mode: Station – с точками TP-Link работает только этот режим.

Frequency: auto – автоматический выбор частоты.

SSID: – ничего не должно быть.

Wireless Protocol: 802.11 – с точками TP-Link работает только этот протокол. Можно оставить значение «Any» (любой), потом конкретизировать его в «Connect List».

Security Profile: default – стандартный профиль безопасности.

Default Authenticate – галочка отсутствует – разрешено подключение только к точкам, которые в «Connect List».

 

 

Connect List (СL)

CL – разрешает подключение станции только к указанным точкам доступа, обеспечивает приоритет подключения и настройки безопасности.

Wireless >> Connect List.

 

Добавление точки доступа в CL.

Вариант №1

Устанавливаем галочку Default Authenticate в настройках беспроводного интерфейса.

Включаем сканер и находим точку доступа. Подключаемся к ней, нажав кнопку «Connect». Разрешено подключение к любой точке.

 

На вкладке «Registration» копируем точку доступа в CL. Делать это нужно быстро. Точка будет появляться и пропадать из регистрации пока ей не будет назначен профиль безопасности с актуальным паролем.

 

Назначаем профиль безопасности и беспроводной протокол.

Добавляем в CL по очереди все точки доступа. После этого нужно вернуть исходные значения в настройке интерфейса (SSID, Frequency, Security Profile) и снять галочку «Default Authenticate».

 

Вариант №2

Сканируем беспроводные сети.

Находим точки доступа.

Открываем свойства первой точки и копируем SSID или MAC-адрес.

Переходим в Connect List.

Создаем новое правило, нажав синий плюс.

 

Добавляем в правило SSID или MAC-адрес. Меняем протокол и профиль безопасности.

После этого не требуется изменять настройки интерфейса и отключать Default Authenticate. Этот вариант наверно удобнее.

При необходимости можно выполнить другие настройки в CL.

Interface: wlan1 – интерфейс к которому применяется правило CL. Если у станции будет несколько интерфейсов, например с разными рабочими диапазонами частот 2ГГц или 5ГГц, то можно выбрать нужный.

MAC Address: привязка точки доступа по MAC-адресу.

Connect – галочка предоставляет разрешение на подключение к указанной точке доступа. Если убрать, то станция не будет подключатся к этой точке.

SSID: — широковещательное имя точки доступа.

Area Prefix: Настраивается на точке доступа для управления группой клиентов.

Signal Strength Range: — уровень сигнала точки доступа, к которому можно подключатся. Если сигнал выходит за рамки указанного диапазона подключение не произойдет.

Allow Signal Out Of Range: время, на которое разрешено подключение в случае выхода уровня сигнала за указанные в предыдущем пункте рамки.

Wireless Protocol: 802.11 – протокол беспроводной связи.

Security Profile: TP-LINK-AP – профиль безопасности. Для подключения к разным точкам разные профили с разными паролями.

Добавление правила в CL через командную строку.



 

Порядок следования правил в CL имеет значение. Правила перебираются последовательно с начала списка. Будет применено первое совпавшее правило.

Правила с точками доступа расположены в порядки их подключения по наилучшему сигналу. AP14 принята за основную, AP10 и AP12 – резервные. Для понятности добавлено описание.

 

Проверяем работу этой схемы. Отключаем основную точку доступа и смотрим на вкладке «Registration» как станция переключается на резервную точку.

Проверяем все точки по очереди. Переключение проходит как запланировано.

CL не будет работать и переключение не произойдет, если указан SSID одной какой-то точки доступа в настройках беспроводного интерфейса.

Если в TP-Link включен режим MAXtream, соединение не произойдет. В одной из точек доступа он был включен и микротик не хотел подключаться.

Освоить MikroTik Вы можете с помощью онлайн-куса
«Настройка оборудования MikroTik». Курс содержит все темы, которые изучаются на официальном курсе MTCNA. Автор курса – официальный тренер MikroTik. Подходит и тем, кто уже давно работает с микротиками, и тем, кто еще их не держал в руках. В курс входит 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.



2022-01-04T10:03:01
Без рубрики

Повышаем производительность WordPress

Большинство исследований показывают, что пользователи очень нетерпеливы и покидают сайт, если он не загрузился за 4 секунды или даже меньше. Мы находимся в эпоху, когда все должно быть быстрым, и пользователи просто не хотят ждать загрузки страницы. Это особенно верно для пользователей мобильных устройств.

WordPress – отличная CMS, которая поможет вам легко создавать красивые веб-сайты или блоги без необходимости платить веб-разработчику. Проблема с WordPress в том, что она может стать очень медленной из-за многих факторов. Новая установка WordPress, использующая одну из тем по умолчанию и минимум плагинов, может очень быстро загружаться и получать хорошие оценки Google Speed и Yahoo! YSlow.

Это пример чистого блога, использующего тему по умолчанию.

Значение слева – это показатель Google Page Speed, а значение справа – показатель Yahoo! YSlow. Двойной A – зеленый 97% и 87%. Время загрузки страницы составляет 0,9 секунды. Если вы получаете высокие баллы, подобные этим, вы можете гордиться собой, и ваши посетители могут быть счастливы!

К сожалению, 99% времени мы используем разные причудливые темы, много изображений и виджетов, которые добавляют тяжелые коды в наших страницах, что значительно замедляет нашу установку WordPress. Существуют также настройки WordPress по умолчанию, которые не помогают сэкономить ресурсы сервера.

Экономия на стоимости хостинга

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

Медленная скорость загрузки страницы – признак того, что ваш блог использует слишком много ресурсов процессора и оперативной памяти вашего сервера.

Как увеличить скорость сайта WordPress

Для повышения скорости работы сайтов обычно выделяются три основные категории:

  1. Hardware
  2. Software
  3. Network

Мы сосредоточимся на программной части. Программное обеспечение включает в себя два основных аспекта: бэкэнд и Фронтэнд. Бэкэнд включает в себя оптимизацию баз данных и серверного код, такого как PHP и Java. Тем не менее, мы приложим максимум усилий для оптимизации внешнего интерфейса. Они включают в себя HTML, изображения, JavaScript и CSS-файлы и составляют 90% времени, необходимого для загрузки веб-сайта!


[bs_notification type=”danger” dismissible=”false”]Пожалуйста, создайте резервную копию WordPress перед началом процесса оптимизации. Это очень важно!!![/bs_notification]

Тест скорости WordPress

Прежде чем приступить к оптимизации производительности, запишите текущие данные, в том числе время загрузки страниц. (Список ресурсов для измерения скорости загрузки сайта вы можете найти ниже). Это поможет вам определить, насколько эффективны настройки производительности.

Бесплатные сервисы, описанные ниже, анализируют и тестируют вашу страницу (а не весь сайт) и представляют вам результаты тестирования. Я предпочитаю тестировать свои страницы, используя несколько разных сервисов, потому что каждый раз вы будете видеть разные результаты. Сложно определить среднее время загрузки с точностью, так как многие переменные могут изменять результаты испытаний каждый раз.

Neustar

  1. Зайдите на страницу http:// browsermob.com/ free-website-performance-test

  2. Введите ссылку на страницу которую вы хотите протестировать
  3. Run Instant Test
  4. Сохраните результат в PDF

GT Metrix

  1. Зайдите на страницу http://gtmetrix.com/
  2. Введите ссылку на страницу которую вы хотите протестировать
  3. Сохраните получившейся результат

Google Page Speed Online

 


Оптимизация картинок

Оптимизация изображения очень важна для ускорения вашего блога. Изображения в вашем блоге, могут быть слишком велики для настольных и мобильных устройств. Даже если вы тщательно сохранили свои изображения для Интернета с помощью Photoshop, Gimp, Acorn или другого графического программного обеспечения, вы будете удивлены, увидев, сколько килобайт вы все еще можете сохранить с помощью метода, который я собираюсь вам показать. Надеюсь, вам не придется оптимизировать каждое изображение отдельно. Это было бы огромной работой, особенно если у вас уже есть тысячи изображений в вашем блоге.

Вам нужно решение, которое может оптимизировать ваши существующие изображения в медиабиблиотеке, но также и любые новые изображения, которые вы загружаете автоматически. Решение заключается в использовании плагина под названием «EWWW Image Optimizer».

EWWW Image Optimizer

Есть несколько плагинов, которые делают то же самое, но EWWW один из лучших.

Преимущества использования EWWW Image Optimizer:

  • Ваши страницы будут загружаться быстрее, потому что меньший размер изображения означает более быструю загрузку страницы.

  • Вы можете оптимизировать сотни изображений всего за несколько минут.

  • Вы можете оптимизировать любое изображение в WordPress, включая те, которые не находятся в библиотеке медиафайлов, например, изображения темы.

По умолчанию EWWW Image Optimizer использует методы оптимизации без потерь, поэтому качество изображения будет точно таким же до и после оптимизации. Единственное, что изменится – это размер вашего файла.

Установка EWWW Image Optimizer

Установите плагин (Плагины -> Добавить новый)

Давайте посмотрим на «Базовые настройки».

Единственное, что вам нужно сделать, это проверить «Remove metadat» и ввести «Bulk Delay», которая будет работать на вашем сервере. Если ваш блог работает на Шаред хостинге, вы можете выбрать 5, 6 или 10 секунд. Если же ваш блог работает на VPS или выделенном сервере, паузы в 3 секунды должно быть достаточным.

Игнорируйте «Cloud Settings», «Advanced Settings» и «Conversion Settings», так как их настройки по умолчанию удовлетворят большинство пользователей.

Оптимизация изображений из медиабиблиотеки

Существует два способа оптимизации существующих изображений.

Первый способ. Перейдите в «Media Library» и оптимизируйте каждое изображение по одному. Нажмите «Библиотека». Обратите внимание: в «Медиабиблиотеку» добавлен новый раздел «Оптимизатор изображений». На снимке экрана выше показано, что исходные изображения не обрабатывались и указывают размер каждого изображения. Давайте нажимаем ссылку «Optimize now!» И посмотрим, что произойдет.

Как вы видите, изображения были уменьшены на 2,1%, что составляет экономию в 42,7 KB.

Другой способ оптимизации изображений из медиабиблиотеки – выбрать изображения, которые вы хотите, и выбрать опцию «Bulk Optimize» и нажать «Apply».

Массовая оптимизация изображений

В меню «Медиафайлы» выберите «Bulk Optimize».  Введите длительность паузы между обработкой изображений и нажмите «Start optimizing». Оптимизация начинается сразу. Каждое изображение, имеющееся в вашей медиабиблиотеке, имеет копии самого разного размера, и все они оптимизируются в случае необходимости.

Вы можете видеть на изображении выше, что ранее оптимизированные изображения не были повторно оптимизированы. Когда вы прокручиваете страницу вниз, вы можете видеть состояние всех изображений по мере их оптимизации.

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

  • Вы можете видеть ход оптимизации и можете остановить процесс в любое время, нажав кнопку «Stop Optimizing».

На той же странице «Bulk Optimize» найдите эту область и нажмите «Scan and optimize».

Теперь все ваши изображения оптимизированы. Изображения на всех ваших постах и страницах вашего блога, а не только на первой странице будет загружаться быстрее.

Будьте внимательны при добавлении слишком большого количества изображений

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

Всегда определять атрибуты widht и height изображений

Всякий раз, когда вы добавляете изображение используя HTML код, убедиться, что вы добавляете его атрибуты размера. Это повлияет на производительность.

Всегда показывать размер изображений

Вместо того чтобы пытаться сделать изображение менее заметным, масштабируя его на лету внутри кода HTML, измените размер изображения до нужных размеров. В противном случае браузерам все равно придется загружать большое изображение, прежде чем уменьшать его, тем самым уменьшая производительность вашего сайта.

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

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

Используйте правильные форматы изображений

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

Лучшие форматы: PNG 8/24 бит, JPEG, GIF (когда изображение действительно мало). Иллюстрации и графика с меньшим количеством цветов отлично работают с PNG 8 бит. Фотографии и изображения, содержащие больше цветов, обычно должны быть сохранены в формате JPEG.

Есть программное обеспечение для оптимизации изображений.

 



2020-12-04T19:48:13
Без рубрики

Что делать, если после обновления php до версии 7.1/7.2/7.3 не попасть в админку wordpress

Причиной тому является старая версия самой CMS WordPress




Бывает так, что версию php обновить пришлось, а версию wordpress пока обновлять рано и в итоге мы имеем следующую ошибку:




Error thrown

Cannot create references to/from string offsets




Открываем в корне сайта файл wp-login.php и




Строку:
$user = wp_signon('', $secure_cookie); 
Заменяем на:
$user = wp_signon(array(), $secure_cookie); 






2019-12-18T07:23:29
Без рубрики

Сборка собственного дистрибутива GNU/Linux. Шаг 1 – подготовка.

Решил я собрать собственный LFS. Причин тут несколько:

  • Давно хотелось и чесалось.
  • Присутствует желание лучше понять устройство операционной системы.
  • Нужно мигрировать с 32-битной архитектуры на 64. Инструкцию для Debian нашел, но лучше бы иметь запасную систему на всякий случай.
  • У меня достаточно устойчивый набор программного обеспечения, поэтому есть представление о том, что именно мне нужно.

Следовать по возможности буду этим инструкциям, однако не повторяя их полностью. Иначе смысл сборки дистрибутива для себя полностью теряется. Насчет скорости процесса так же вопросы, ибо я ленив. Но думаю за месяц справлюсь.

Выделение раздела для системы

Я сделал достаточно просто – отмонтировал /home и отрезал от него 10 Гб места под root’ом программой GParted. Это достаточно простая и полезная программа:

Как вариант, можно загрузиться с live-cd той же Ubuntu и проделать те же манипуляции.

Подготовка к началу

Добавление глобальных переменных для пользователя

Предположим, что у нас в системе есть пользователь user. В файл /home/user/.bashrc занесём следующие строки:

  1. Точка монтирования устройства с собираемой ОС:

    export LFS64="/mnt/x64lfs"
  2. Аббревиатура системы, на которой происходит сборка:

    export LFS64_HOST="i586-cross-linux-gnu"
  3. Аббревиатура системы, для которой происходит сборка:

    export LFS64_TARGET="x86_64-unknown-linux-gnu"
  4. Флаги компилятора, для целевой системы:

    export BUILD64="-m64 -march=native"
  5. Включаем путь к приложения из в будующем созданной папки для пользователя:

    PATH=/cross-tools/bin:$PATH

Теперь можно выйти из терминала и зайти в него снова, чтобы данные глобальные переменные обновились.

Монтирование раздела и создание папок

Теперь можно подключить раздел, подготовленный для будущей операционной системы:

#mkdir $LFS64 #mount /dev/XXX $LFS64

Где /dev/XXX – собственно раздел.

Затем необходимо создать несколько папок и сделать символические ссылки на корень системы:

  1. Для временной системы, на базе которой будет происходить сборка основной:

    # mkdir $LFS64/tools # ln -sv $LFS64/tools /
  2. Для кросскомпилятора с x32 на x64:

    # mkdir -v $LFS64/cross-tools # ln -sv $LFS64/cross-tools /
  3. Для исходных текстов программ:

    # mkdir -v $LFS64/sources # ln -sv $LFS64/sources /

Осталось дать пользователю user права на чтение и запись в этих папках:

# chown -v user $LFS64/tools # chown -v user $LFS64/cross-tools # chown -v user $LFS64/sources

На это приготовления заканчиваются, следующий шаг – сборка кросскомпилятора.



2019-10-13T19:27:10
Без рубрики

Устранение неполадок SSH – ошибки работы протокола

При работе с SSH-соединениями нередко возникают разного рода ошибки. Это могут быть неполадки с соединением, авторизацией и т. д. Но есть также категория ошибок работы SSH, которые возникают на уровне протокола. Зачастую они имеют место быть при неумелом обращении, собственно, с самим протоколом SSH, например неправильное использование ключей шифрования. Но также могут быть и реальные неполадки, связанные с некорректной конфигурацией сервера или клиента SSH, что отражается на работе, в частности, протокола. Именно о таких неполадках, а также способах их выявления и устранения пойдёт речь в данной статье.

Какие бывают ошибки протокола SSH?

Когда SSH-клиенты получают ошибки сброса соединений, неполадки с шифрованием, а также наблюдаются проблемы, связанные с «неизвестным» или «изменённым» хостом, то это, как правило, ошибки работы протокола SSH. Подобного рода неполадки часто возникают на этапе согласования зашифрованного соединения протоколом SSH посредством создания доверия между сервером и клиентом.

Невозможность проверки ключа хоста

При создании SSH-соединения протокол требует, чтобы стороны идентифицировали себя. Бывает так, что от сервера поступает следующая ошибка:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!

Someone could be eavesdropping on you right now (man-in-the-middle attack)!

It is also possible that a host key has just been changed.

The fingerprint for the ECDSA key sent by the remote host is

SHA256:doBAKL304WyMd8hnFc9a29r3nX9okS9BlrBJcHtuyNk.

Please contact your system administrator.

Add correct host key in /root/.ssh/known_hosts to get rid of this message.

Offending ECDSA key in /root/.ssh/known_hosts:14

ECDSA host key for 212.45.27.201 has changed and you have requested strict checking.

Host key verification failed.

Эта ошибка может возникать по нескольким причинам:

  • переустановка SSH-сервера и неполная его конфигурация;
  • восстановление сервера из резервной копии;
  • изменение IP-адреса сервера.

Очистка ключей хостов помогает решить эту проблему. Сами эти ключи хранятся на стороне клиента в файле ~/.ssh/known_hosts. Для очистки можно удалить все записи вручную. Либо можно использовать команду:

$ ssh-keygen -R host_ip

Эта команда попытается очистить соответствующую информацию о ключе хоста в файле known_hosts:

Host 123.123.123.123 found: line 14

/home/john/.ssh/known_hosts updated.

Original contents retained as /home/john/.ssh/known_hosts.old

После этих действий можно попробовать снова выполнить подключение к серверу SSH.

Закрытие или сброс соединения

Бывает так, что соединение с SSH-сервером устанавливается, однако на этапе проверки ключей сбрасывается. Эта ошибка выглядит следующим образом:

Connection closed by 123.123.123.123 port 22

Часто такая ошибка возникает по нескольким причинам:

  •  программный сбой работы SSH-сервера или он не запущен;
  • невозможность инициализировать соединение из-за отсутствия или недоступности ключей.

В данном случае необходимо проверить корректность заданной конфигурации сервера, проверить, запущен ли сам сервис. Если же с сервисом всё в порядке, то необходимо удостовериться, что SSH-ключи доступны для использования сервером. Если они отсутствуют, то необходимо их сгенерировать.

В данном случае необходимо проверить, есть ли в каталоге /etc/ssh набор файлов с именами sshd_host_*_key. Один из них должен иметь расширение *.pub.

В случае, если таких файлов нет, их нужно сгенерировать:

$ ssh-keygen -A

ssh-keygen: generating new host keys: RSA DSA ECDSA ED25519

Теперь можно снова попытаться подключиться к серверу.

Ошибка взаимодействия с хостом

Для работы протокола SSH на этапе его инициализации генерируется общий закрытый ключ. Он создаётся на основе шифрования, которое согласуется при создании подключения между сервером и клиентом. Иногда на этом этапе возникают несоответствия и на стороне клиента это приводит к следующей ошибке:

Unable to negotiate with 123.123.123.123: no matching key exchange method found.

Their offer: diffie-hellman-group1-sha1

Эта ошибка говорит о том, что сервер и клиент друг друга «не понимают». Это может быть вызвано следующими причинами:

  • список шифрования сервера был изменён или сервер его не поддерживает;
  • различные реализации (версии) протокола SSH на сервере и у клиента.

Как можно видеть, для устранения этой ошибки необходимо привести в соответствие версию клиента SSH, а также настроить шифрование для него. Если сервер использует устаревший метод шифрования, например SHA1, а у клиента по-умолчанию задействованы более совершенные методы, то это также будет вызывать ошибки протокола SSH. Для начала необходимо выяснить, действительно ли у сервера и клиента используются разные методы шифрования.

Для клиента использование методов шифрования можно настроить, используя опцию KexAlgorithms:

$ openssh -o KexAlgorithms=+diffie-hellman-group1-sha1 root@your_server_ip

Эта проблема не такая распространённая, поскольку возникает, когда версия реализации SSH-клиента более новая, чем используемая на сервере.

Заключение

В заключение нужно отметить, что рассмотренные неполадки и способы их устранения являются самыми распространёнными. Если для конкретного случая вышеописанное не помогает устранить проблему в работе SSH, то возможно, неполадка связана не с протоколом, а с другой областью, например с неполадками установления подключения по SSH.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.



2019-04-11T11:58:41
Без рубрики

Рассылка E-Mail с помощью Mailgun API + PHP

PHP имеет встроенные функции для отправки почтовых сообщений однако обычно такие письма сразу же попадают в спам. Поэтому необходимо использовать API для отправки электронных писем, которые будут попадать именно в папку «Входящие» почтового ящика адресата, а не в спам. Большинство APIплатные, но если вам необходимо с чего-то начать нужен бесплатный сервис. Тут на сцене появляется Mailgun. 10.000 электронных писем бесплатно каждый месяц. Регистрация также бесплатная, данные кредитной карты не требуются.




Зарегистрируйтесь на https://mailgun.com/signup и войдите в свой аккаунт. Для использования сервиса вам понадобиться Mailgun API Key а также указать свой домен. Также необходимо будет подвердить право владения доменом. Без этого, количество писем будет ограничено 300 в сутки.
Перейдите на https://mailgun.com/cp/my_account и в левом верхнем углу вы увидите свой API Key, строка вида key-3358fhrhs333dsj43e3e5532.




Mailgun предлагает собственный класс для отсылки сообщений, однако здесь я бы хотел бы поделиться более простым решением на базе PHP + cURL. На базе cURL написана функция send_mail:




<? function send_mail($email,$subject,$msg) { 
$api_key="";/* Api Key got from https://mailgun.com/cp/my_account */ 
$domain ="";/* Domain Name you given to Mailgun */ 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); 
curl_setopt($ch, CURLOPT_USERPWD, 'api:'.$api_key); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST'); 
curl_setopt($ch, CURLOPT_URL, 'https://api.mailgun.net/v2/'.$domain.'/messages'); 
curl_setopt($ch, CURLOPT_POSTFIELDS, array( 'from' => 'Open <mail@youriste.com>',
'to' => $email,
'subject' => $subject,
'html' => $msg
));
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
?>




Не забудьте задать переменные $api_key и $domain.
Теперь можно отсылать письма, передавая в функцию параметры:




$email - адрес получателя
$subject - тема письма
$msg - тело письма




Пример:




<?
send_mail("receiver@domain.com", "Hello!", "Have a nice day!");
?>



2019-03-20T13:08:44
Без рубрики