Полное руководство по настройке вашей платформы с AWS и Sendy

Вступление

Для тех, кто только начинает заниматься почтовым маркетингом, Mailchimp - это простая задача: бесплатный уровень до 2К контактов. Но если вы пройдете мимо этого числа, это будет стоить вам. Как и все другие популярные платформы. Чем больше подписчиков, тем круче растет комиссия.

К счастью, есть надежные и более экономичные альтернативы. Сенды - один из них. Sendy - это приложение для рассылки новостей по электронной почте, которое стоит 69 долларов США с единовременным платежом. Он использует Amazon SES, поэтому вам необходимо настроить учетную запись Amazon SES.

Позвольте мне представить вам картину затрат. Если вы отправляете 2,5 тысячи писем в неделю, это будет около 10 тысяч писем в месяц. Капля DigitalOcean стоит 5 долларов в месяц, а Amazon SES - около 1 доллара. Отправка 10 000 писем стоит 6 долларов в месяц, а отправка 30 000 писем в месяц стоит 8 долларов в месяц.

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

Темы включают сервер DigitalOcean, защиту сервера, настройку базы данных MySQL, применение Amazon SES, установку Sendy и написание целевых страниц.

Какие навыки вам нужны, чтобы настроить Sendy?

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

Примечания

Я буду использовать знак $ для приглашения локального терминала, знак # для приглашения удаленного терминала (SSH) и // для терминала. комментарии.

Table of Contents
· IntroductionWhat skills do you need to set up Sendy?
· Creating and setting up a DigitalOcean projectLAMP on Ubuntu20.04SSH keys
· Connecting through SSHUpdating and upgrading the serverHow to reboot your system
· Installing PHP and modulesPHP, curl, php-xml, and simplexmlAdding your domain name to your DNS serverUsing your domain name with SSHAdding a free SSL
· DatabaseCreating a new database and userDisabling ONLY_FULL_GROUP_BY
· Creating a new user for your serverWhy?Adding a new userAdding the user to the sudo groupEnabling ssh for a new userDisabling the root accessEnabling sudo without password
· Setting Up a FirewallService, protocol, and port numbersAllowing your IP address
· Setting up a cronjob
· Amazon SESRequest to increase sending limitsAdding a domain to Amazon SESAdding a verification to your DNS recordAdding DKIMVerifying email addressesCreating a new user from Identity and Access Management (IAM)
· Installing SendyUploading Sendy to your serverrsyncHow to connect to MySQL from a database management tool
· Conclusion
· ReferencesDigitalOcean/ServerSendy

Создание и настройка проекта DigitalOcean

LAMP в Ubuntu20.04

DigitalOcean предлагает виртуальные частные серверы (называемые каплями) с различными опциями из коробки. Базовая капля стоит 5 долларов в месяц.

Зарегистрируйтесь в DigitalOcean и войдите в систему. Найдите Новый проект и нажмите, чтобы создать новый проект.

Введите название проекта, краткое описание и выберите цель.

Вы можете пока пропустить «Переместить ресурсы в свой проект».

Нажмите «Начать работу с каплей».

Выберите план «Базовый» за 5 долларов в месяц и LAMP в Ubuntu20.04 (называемый «1-Click LAMP Droplet») на торговой площадке. LAMP включает Linux, Apache, MySQL, PHP, а также бесплатный сертификат SSL.

Выберите регион центра обработки данных.
Пропустить Выберите дополнительные параметры.

SSH ключи

Выберите ключи SSH для аутентификации.

Скопируйте ваш id_rsa.pub в буфер обмена.

$ pbcopy < ~/.ssh/id_rsa.pub

Если у вас нет SSH-ключей, этот пост поможет вам их создать.

Щелкните New SSH Key и вставьте свой ключ.

Добавьте свое имя капли (имя хоста), чтобы идентифицировать ее.

Найдите свой IP-адрес сервера в новом проекте. Это что-то вроде 165.227.90.202.

Подключение через SSH

Откройте терминал (или iTerm).

SSH (Secure Shell Protocol) предназначен для работы сетевых служб в незащищенной сети. Используйте IP-адрес вашего сервера для подключения через SSH:

$ ssh root@your-ip-address
// for example
$ ssh [email protected]

Теперь вы находитесь на созданном вами удаленном сервере.

Обновление и апгрейд сервера

Advanced Package Tool (APT) - это бесплатный пользовательский интерфейс программного обеспечения для установки и удаления программного обеспечения в Ubuntu.

Команда sudo apt update обновляет список доступных пакетов и их версий:

# sudo apt update
// or
# sudo apt-get update

Команда sudo apt upgrade устанавливает более новые версии имеющихся у вас пакетов:

# sudo apt upgrade
// or
# sudo apt-get upgrade

Если он сообщает вам, что ваша измененная версия имеет обновленную версию, ответьте N, чтобы сохранить ваши файлы.

Как перезагрузить вашу систему

После обновления и обновления у вас будет следующее:

Перезагрузите каплю с вашего терминала:

# sudo reboot

Установка PHP и модулей

PHP, curl, php-xml и simplexml

PHP - это язык сценариев общего назначения. Сэнди работает на PHP.
Подключаясь к серверу через SSH, проверьте версию PHP:

# php -v

PPA (Personal Package Archive) - это репозиторий сторонних пакетов PHP. Вы можете добавлять репозитории с помощью команды add-apt-ropsitory:

# sudo add-apt-repository ppa:ondrej/php

Нам нужно установить два пакета для Sendy.

curl - это инструмент для передачи данных на сервер или с сервера. Нам нужно установить модуль curl для PHP7.4:

# sudo apt install php7.4-curl
// or
# sudo apt-get install php7.4-curl

XML используется для структурирования, хранения и передачи данных из одной системы в другую. Нам нужно установить модуль XML для PHP:

# sudo apt install php-xml
// or
# apt-get install php-xml

Установить php7.4-simplexml:

# sudo apt install php7.4-simplexml

Перезагрузите сервер, чтобы изменения вступили в силу:

# sudo systemctl restart apache2

Добавление вашего доменного имени к вашему DNS-серверу

Зайдите в свой DNS-сервис. Если вы используете Namecheap, в разделе Список доменов ›Управление› Расширенный DNS нажмите кнопку Добавить новую запись. Выберите Запись в качестве типа и введите @ для хоста и свой IP-адрес DigitalOcean в поле Значение.

Посетите свой веб-сайт, и вы должны увидеть следующее изображение:

Использование вашего доменного имени с SSH

Вы можете получить доступ к SSH, используя свое доменное имя:

$ ssh [email protected]

Добавление бесплатного SSL

Настройка SSL-сертификата включает HTTPS на веб-сервере. Он защищает трафик между вашим сервером и клиентами. Certbot бесплатный и включен в LAMP на Ubuntu20.04.

На вашем сервере введите следующее:

# certbot --apache -d example.com -d www.example.com

Выберите 2: Перенаправить, чтобы все запросы перенаправляли на защищенный HTTPS.

База данных

Создание новой базы данных и пользователя

Проверьте версию базы данных MySQL:

# mysql -V
mysql  Ver 8.0.23-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))

Давайте погрузимся в базу данных.

# mysql

Это запустит приглашение MySQL.

Создайте базу данных:

mysql> CREATE DATABASE sendy;

Создайте пользователя MySQL и предоставьте разрешения:

mysql> CREATE USER 'sendyadmin'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Перечислите всех пользователей MySQL:

mysql> SELECT USER, HOST FROM mysql.user;

Or

mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;

Вы можете увидеть mysql_native_password для sendyadmin в столбце плагинов.

Если вы ошиблись и хотите удалить пользователя:

mysql> DROP USER 'wrong-name';

Мы предоставляем все привилегии только что созданному пользователю:

mysql> GRANT ALL ON *.* TO 'new-user'@'localhost';

Перезагрузите все привилегии:

mysql> FLUSH PRIVILEGES;

Отключение ONLY_FULL_GROUP_BY

Sendy требует режима MySQL без ONLY_FULL_GROUP_BY.

Давайте проверим наш sql_mode:

# sudo mysql -sse "SELECT @@GLOBAL.sql_mode;"
[sudo] password for shin:
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

Как видите, sql_mode имеет ONLY_FULL_GROUP_BY. Скопируйте строку вывода, кроме ONLY_FULL_GROUP_BY.

Откройте файл /etc/mysql/mysql.conf.d/mysqld.cnf и добавьте наш sql_mode:

# sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

Нажмите SHIFT-G, чтобы перейти к последней строке. Нажмите o, чтобы вставить под ним новую строку, и удалите символ комментария # с помощью клавиши удаления и вставьте то, что вы скопировали после sql_mode=:

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

Чтобы сохранить и выйти, нажмите клавишу ESC и введите :wq.

Перезапустите MySQL:

# sudo service mysql restart

Подтвердите изменение:

# sudo mysql -sse "SELECT @@GLOBAL.sql_mode;"
STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

Создание нового пользователя для вашего сервера

Почему?

Что мы собираемся сделать, так это создать нового пользователя для вашего сервера и дать ему sudo привилегию. Затем мы собираемся включить SSH-доступ для нового пользователя и отключить root-доступ к серверу.

Мы отключаем root-доступ в целях безопасности. Кто угодно может использовать SSH с root для вашего IP-адреса и попытаться войти, угадав ваш пароль. Но если вы отключите root-доступ, то им тоже нужно будет угадывать ваше имя пользователя.

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

Добавление нового пользователя

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

Обязательно измените выделенные жирным шрифтом части команды ниже, чтобы они соответствовали имени вашего пользователя:

# adduser shin

Когда вы создаете нового пользователя, система создает новый каталог /home/shin.

Проверьте, добавили ли вы нового пользователя, найдя всех пользователей:

# less /etc/passwd

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

Добавление пользователя в группу sudo

Команда sudo дает определенным пользователям возможность запускать команды от имени пользователя root. Мы собираемся подарить его нашему новому пользователю.

# usermod -aG sudo shin

Затем мы разрешаем этому новому пользователю доступ по SSH.

Включение ssh для нового пользователя

Позвольте новому пользователю использовать SSH. У пользователя root есть локальный открытый ключ в файле ~/.ssh/authorized_keys. Вам нужно скопировать это во вновь созданный каталог /home/shin. (Не забудьте заменить все слова полужирным шрифтом.)

# rsync --archive --chown=shin:shin ~/.ssh /home/shin

Откройте новую вкладку терминала (ваш локальный терминал) и используйте ssh: (Используйте свой IP-адрес и новое имя пользователя.)

$ ssh shin@123.456.78.123

Проверьте, может ли новый пользователь использовать команду sudo:

# sudo ls -la /root

Вы можете выйти из сеанса SSH с помощью команды exit.

# exit

Отключение root-доступа

Если вы вышли с сервера, используйте SSH для входа на сервер под новым пользователем.

Измените каталог на /etc/ssh и скопируйте sshd_config в sshd_config.old. Если вы допустили ошибку, рекомендуется сделать копию.

Vim - это текстовый редактор. Откройте файл с помощью Vim:

# cd /etc/ssh
# sudo cp sshd_config sshd_config.old
# sudo vim /etc/ssh/sshd_config

Найдите PermitRootLogin yes с помощью стрелки вниз и измените его на:

PermitRootLogin no

Вам нужно нажать SHIFT + A, чтобы перейти к концу строки, удалить yes и ввести no. Нажмите клавишу выхода и введите :wq, затем нажмите клавишу ввода, чтобы написать и выйти из редактора Vim.

Перезапустите службу sshd:

# systemctl restart sshd.service

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

Включение sudo без пароля

Позже мы собираемся использовать git для отправки локальных файлов на наш сервер с помощью ловушки Github. Нам нужно сделать так, чтобы наше имя пользователя не требовало пароля.

# sudo visudo

Это откроет /etc/sudoers файл, который настраивает команду sudo. Редактором по умолчанию является текстовый редактор nano. Непосредственно перед последней строкой #includerir /etc/sudoers.d добавьте следующее (не забудьте заменить все слова полужирным шрифтом):

shin ALL=(ALL) NOPASSWD:ALL

Вы можете ограничить команды без пароля:

shin ALL=(ALL) NOPASSWD: /usr/bin/git,/usr/bin/chown, /usr/bin/mv

Нажмите Ctrl+o и вернитесь, чтобы сохранить, затем Ctrl+x, чтобы выйти из редактора.

Настройка брандмауэра

Номера служб, протоколов и портов

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

1-Click LAMP Droplet поставляется с UFW (несложный брандмауэр) для настройки брандмауэра на вашем сервере.

У разных сервисов разные номера портов:

Когда вы подключитесь к серверу по SSH, вы увидите приветственные примечания, аналогичные приведенным ниже: «Все порты заблокированы, кроме 22 (SSH), 80 (HTTP) и 443 (HTTPS)».

Включим UFW:

# sudo ufw enable

Он спросит вас: «Команда может нарушить существующие ssh-соединения. Продолжить операцию (y | n)? ». Введите y, чтобы продолжить:

Проверьте статус брандмауэра:

# sudo ufw status verbose

Здесь вы можете видеть, что 22 порта (SSH), 443 (HTTPS) и 80 (HTTP) открыты.

Если вы не видите линий, как на изображении выше, вы можете добавить их:

# sudo ufw allow ssh
// or
# sudo ufw allow 22/tcp
# sudo ufw allow http
// or
# sudo ufw allow 80/tcp
# sudo ufw allow https
// or
# sudo ufw allow 443/tcp

Разрешение вашего IP-адреса

Разрешим входящий SSH с определенного IP-адреса:

# sudo ufw allow from 123.456.78.901 to any port 22 proto tcp

Измените 123.456.78.901 на ваш IP-адрес.

Теперь вам нужно удалить доступ по SSH (22) отовсюду:

# sudo ufw delete allow to any port 22 proto tcp

Проверим статус:

# sudo ufw status

Сэнди использует функцию «Забыли пароль». Протокол SMTP позволяет приложениям передавать сообщения электронной почты через Интернет, а протокол POP3 обрабатывает получение сообщений электронной почты с вашего почтового сервера. Разрешим порты POP3 и SMTP:

# sudo ufw allow 110/tcp
# sudo ufw allow 25/tcp
# sudo ufw status

Выйдите из SSH и проверьте, работает ли он с вашим IP-адресом.

Если вы хотите удалить доступ с указанного выше IP-адреса:

# sudo ufw delete allow from 123.456.789.01 to any port 22 proto tcp

Теперь никто не может использовать root-доступ или получить доступ к вашему серверу с других IP-адресов (включая вас). Если вы работаете с разных IP-адресов, не забудьте заранее выполнить следующее:

# sudo ufw allow ssh

Настройка задания cron

Чтобы активировать автоответчики Sendy, нам нужно добавить задание cron. Cron - это демон (программное обеспечение) для планирования заданий на основе времени.

На вашем сервере Ubuntu уже должен быть cron:

# which cron
/usr/sbin/cron

Если у вас его нет, установите:

# sudo apt install cron

Включите cron:

# sudo systemctl enable cron

Чтобы проверить задание cron и отредактировать его:

# crontab -l
# crontab -e

Выбери свой редактор. В этом уроке мы используем редактор nano.

Добавьте в конец файла следующее:

*/1 * * * * php /var/www/html/sendy/autoresponders.php > /dev/null 2>&1

Нажмите Ctrl+o и клавишу возврата, чтобы записать в файл, и Ctrl+x, чтобы выйти.

Молодец! Это все, что нужно для настройки вашего сервера. Поздравьте себя.

Далее мы займемся Amazon SES.

Amazon SES

Запрос на увеличение лимитов на отправку

Вам необходимо создать учетную запись на AWS Amazon Web Service.

Вам нужно запросить увеличение лимитов отправки из консоли. После отправки вы получите ответ от AWS:

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

Вот образец письма:

Hello, 
Thank you for your message. My website is https://mywebsite.com/. Currently, I am using (Email Service Name) to send out a weekly newsletter. At the time of writing, the list has 2,500 subscribers. The list increases by 5-10 subscribers daily. My landing page has a 20% conversion rate. I check the subscriber list daily and archive unsubscribes daily. The average unsubscribes with each newsletter is 0.5%. So far, I have not received a single complaint. I leave soft bounces (0-4) in the list and delete hard bounces (hardly ever). 50% of newsletter recipients are highly engaged, 10% are moderately engaged, and 20% rarely.  
The content of each newsletter is a new blog post with ... tutorial and sometimes related or additional news about ... . 
After subscribing, people are invited to an engaged, closed Facebook Group that I started on Oct. 1, 2020.  As of today, it has 300 members.  
My website has an average of 10K visitors per month. Recently, the number of visitors rose sharply. The social traffic comes from ... . I am a professional ..., and I have ...ed. I intend to ... . 
Please let me know if you require any further information.  
Thank you. 
Best regards, 
John Doe

Тогда вы получите ответ.

Добавление домена в Amazon SES

Войдите в Консоль Amazon AWS и перейдите в SES Home (просто воспользуйтесь поиском вверху). Затем перейдите на страницу Домены и нажмите Подтвердить новый домен.

В левом меню перейдите в Домены.

На аналогичной странице, как показано ниже, будут отображаться:

Щелкните Подтвердить новый домен.

Добавьте свое доменное имя, например mydomain.com.

Добавление подтверждения в вашу запись DNS

Найдите записи TXT подтверждения домена Amazon SES. Если вы не можете его найти, перейдите на главную страницу SES ›Домены› Ваш домен.

Мы собираемся использовать _amazonses без вашего доменного имени в конце для Host.

Зайдите в свой DNS-сервис. Если вы используете Namecheap, перейдите в Список доменов, затем нажмите кнопку «Управление» своего домена. Затем щелкните Advanced DNS.

В разделе «Записи хоста» нажмите ДОБАВИТЬ НОВУЮ ЗАПИСЬ. Скопируйте и вставьте значения AWS Verification. В поле Host должно быть указано _amazonses без вашего доменного имени в конце.

Добавление DKIM

DKIM (Почта с идентификацией ключей домена) - это метод аутентификации электронной почты, который позволяет получателю проверить, действительно ли электронное письмо было отправлено и авторизовано владельцем этого домена. - с сайта dmarcanalyzer.com

На главной странице SES ›Домены› Ваш домен вы можете найти настройки DKIM (Почта с идентификационными ключами домена). Обратите внимание, что вам нужно добавить три строки в настройки DNS.

Добавьте три записи CNAME, щелкнув ДОБАВИТЬ НОВУЮ ЗАПИСЬ, как вы делали раньше. Еще раз обратите внимание на необходимость вставки без имени домена в конце при вставке в поле «Хост».

Проверка адресов электронной почты

Чтобы отправить электронное письмо, вам необходимо подтвердить свои адреса электронной почты в AWS.

Перейдите на главную страницу SES ›Адреса электронной почты и нажмите« Подтвердить новый адрес электронной почты ».

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

Создание нового пользователя из Identity and Access Management (IAM)

Нам нужно создать нового пользователя IAM, которого мы будем использовать для учетных данных Amazon Web Services Sendy.

Найдите IAM из поиска.

Создайте нового пользователя:

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

Мы добавим указанные выше ключи в Sendy после установки.

Еще раз поздравляю. Ты сделал это. Это все, что нужно для настройки Amazon SES. Отличная работа!

Далее мы собираемся установить и настроить Sendy.

Установка Sendy

После покупки Sendy вы получите ссылку для загрузки, лицензионный ключ и лицензионный домен.

После покупки вы можете сменить лицензионный домен с https://sendy.co/#forms, если вам это нужно.

(На странице Начало работы рассказывается, как установить Sendy на свой сервер.)

Разархивируйте загруженный файл и откройте его в текстовом редакторе, например VS Code. Найдите файл /include/config.php и измените его содержимое. Используйте имя пользователя и пароль MySQL, которые мы использовали в предыдущем разделе.

//------------------------------------------//
// COMPULSORY SETTINGS
//--------------------------------------//
/*  Set the URL to your Sendy installation (without the trailing slash) */
define('APP_PATH', 'https://yourweb.com/sendy');
/*  MySQL database connection credentials (please place values between the apostrophes) */
$dbHost = 'localhost'; // MySQL Hostname
$dbUser = 'sendyadmin'; // Your MySQL Username
$dbPass = 'password'; // Your MySQL Password
$dbName = 'sendy'; // Your MySQL Database Name

Загрузка Sendy на ваш сервер

Мы не используем контроль версий для Sendy (однако мы будем использовать Git для наших целевых страниц). Мы используем rsync для передачи всех файлов Sendy на сервер.

rsync

Проверьте, есть ли у вас rsync в локальной и удаленной системе:

$ rsync --version
rsync  version 3.2.3  protocol version 31
Copyright (C) 1996-2020 by Andrew Tridgell, Wayne Davison, and others.
Web site: https://rsync.samba.org/

Если у вас его нет, вы можете установить rsync:

// Ubuntu
$ apt install rsync
// macOS
$ brew install rsync
// Fedra, CentOS
$ yum install rsync

Не забудьте перезагрузить терминал.

Вы можете использовать rsync:

$ rsync [options] [source] [destination]

Вы не можете напрямую передавать файлы на /var/www/html/sendy, поскольку у нового пользователя нет разрешения. Но вы можете передавать файлы в удаленный домашний каталог, где у вас есть разрешение.

Давайте создадим каталог sendy на удаленном сервере:

# mkdir /home/shin/sendy

Затем с вашего локального терминала:

$ cd /path/to/sendy
$ rsync -av ./sendy/ shin@123.456.78.901:/home/shin/sendy/

Здесь снова вам нужно изменить IP-адрес и имя пользователя.

Нам нужно переместить каталог /home/sendy, который мы только что переместили, в каталог /var/www/html. На удаленном сервере:

# cd ~
# sudo mv sendy /var/www/html

Вы можете подтвердить, что все файлы находятся в каталоге /var/www/html:

# ls /var/www/html/sendy

В настоящее время все файлы и каталоги в /var/www/html/sendy имеют владельца и группу shin (ваше имя пользователя).

Нам нужно рекурсивно изменить владельца и группу всех файлов и каталогов на www-data.

# cd /var/www/html
# sudo chown -R www-data:www-data sendy

Убедитесь, что в каталоге sendy отображается www-data www-data, и все ли файлы в каталоге sendy также имеют www-data www-data.

# ls -al
# ls -al sendy

Установите права доступа к файлам для каталога загрузки:

# sudo chmod 777 /var/www/html/sendy/uploads/

Посетите https://yourdomain.com/sendy.

Используйте лицензионный ключ Sendy в поле Лицензионный ключ. Используйте свой адрес электронной почты для входа в AWS в поле Электронная почта. Используйте свой идентификатор ключа доступа AWS и секретный ключ доступа из предыдущего раздела AWS.

Обратите внимание, что контрольный список совместимости с сервером выделен зеленым цветом.

Как подключиться к MySQL из инструмента управления базами данных

Возможно, вам потребуется подключиться к базе данных с помощью инструмента управления базой данных, например Sequel Pro. На изображении ниже показано, что вам нужно ввести в каждое поле. Мы используем протокол SSH.

После завершения установки войдите в систему и проверьте страницу настроек.

Это все для установки.

Заключение

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

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

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

В следующей статье мы расскажем, как создавать целевые страницы Sendy. Сообщите мне, как это происходит с вашей установкой, и если у вас возникнут вопросы.

Если вам понравилась моя статья и вы хотите получать информационные бюллетени, подпишитесь.

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

использованная литература

DigitalOcean / Сервер

Сэнди