Отправить СМС сообщение через почтовый ящик @sms.ru (email2sms) или SMTP протокол

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

Cпособ №1: указать номера получателей в адресной строке

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

[зарегистрируйтесь, чтобы получить api_id]+79255070602+74993221627@sms.ru

Можно указать несколько номеров. Перед каждым должен стоять знак плюс. Номера получателей должен быть написаны только цифрами, без пробелов и других знаков. В заголовке (поле Subject) можно указывать специальные параметры, описанные ниже в разделе "дополнительные опции".

Cпособ №2: указать номера получателей в заголовке (поле Subject) письма

Письма необходимо отправлять на ваш уникальный адрес, который содержит в себе ваш секретный ключ api_id:

[зарегистрируйтесь, чтобы получить api_id]@sms.ru

В заголовке (поле Subject) необходимо указать номера получателей:

79255070602,74993221627

Можно указать несколько номеров, разделенные запятыми. Номера получателей должен быть написаны только цифрами, без пробелов и других знаков. В заголовке (поле Subject) можно указывать специальные параметры, описанные ниже в разделе "дополнительные опции".

Cпособ №3: провести полноценную авторизацию по вашему логину/паролю на нашем SMTP сервере и передать номера получателей в поле "Кому" (RCPT TO)

Данный способ подходит для программ, которые устанавливаются на стороне пользователя (ремонтные мастерские, салоны красоты), в которых нет возможности отправлять СМС, но есть возможность отправлять электронные письма через SMTP сервера. Вам необходимо указать следующие настройки в вашей программе, которая использует отправку сообщений через SMTP протокол:

SMTP сервер: sms.ru
Логин: 79255070602
Пароль: ваш пароль от нашего сервиса
Порт: 465 (SSL) или 587 (TLS)

Получателей можно указать через запятую в поле "Кому" (RCPT TO):

79255070602, 74993221627

Либо, если ваша программа требует наличие знака @ в поле получателя:

79255070602,74993221627@sms.ru

Текст сообщения передается в самом теле. В заголовке (поле Subject) можно указывать специальные параметры, описанные ниже в разделе "дополнительные опции".

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

Дополнительные опции

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

from:Sender translit

Пример на PHP (для сообщений, состоящих только из латинских символов)

/* Можно использовать только латинские символы */
mail("[зарегистрируйтесь, чтобы получить api_id]+79255070602@sms.ru","","Hello world!");

Пример на PHP с подменой отправителя (для сообщений, состоящих только из латинских символов)

/* Можно использовать только латинские символы */
mail("[зарегистрируйтесь, чтобы получить api_id]+79255070602@sms.ru","from:Sender","Hello world!");

Пример на PHP с подменой отправителя (для сообщений, состоящих только из латинских символов)

/* Можно использовать только латинские символы */
mail("[зарегистрируйтесь, чтобы получить api_id]+79255070602@sms.ru","from:Sender","Hello world!");

Пример на PHP для сообщений, содержащих русские символы

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

function sms_send_mime_mail(
    $email_from, // email отправителя
    $email_to, // email получателя
    $data_charset, // кодировка переданных данных
    $send_charset, // кодировка письма
    $subject, // тема письма
    $body // текст письма
) {
    $subject = sms_mime_header_encode($subject, $data_charset, $send_charset);
    if ($data_charset != $send_charset) {
        $body = iconv($data_charset, $send_charset, $body);
    }
    $headers = "From: $email_from\r\n";
    $headers .= "Content-type: text/plain; charset=$send_charset\r\n";
    return mail($email_to, $subject, $body, $headers);
}

function sms_mime_header_encode($str, $data_charset, $send_charset) {
    if ($data_charset != $send_charset) {
        $str = iconv($data_charset, $send_charset, $str);
    }
    return "=?".$send_charset.
    "?B?".base64_encode($str).
    "?=";
}

sms_send_mime_mail(
    "sender@mail.ru", // Адрес отправителя
    "[зарегистрируйтесь, чтобы получить api_id]@sms.ru", // Ваш уникальный адрес в системе SMS.RU
    "CP1251", // кодировка, в которой находятся передаваемые строки
    "KOI8-R", // кодировка, в которой будет отправлено письмо
    "79255070602 translit", // заголовок письма с номером получателя, а также дополнительными параметрами
    "Здравствуйте, я Ваша программа!"
);

Последнее обновление: 07 Июля 2019 в 06:13

Бесплатный номер по России  +7 (800) 222-60-95