Москва  +7 (495) 120-8115 (с 10 до 18)
Документация для программистов

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

Если вам необходимо подключить отправку СМС в программу, из которой можно только отправлять электронные письма, то вы можете воспользоваться вашим секретным ящиком @sms.ru. Он позволяет отправлять СМС сообщения себе и другим получателям. При этом все параметры указывается в адресной строке или заголовке письма, а само сообщение - в теле.

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

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

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

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

Второй способ: указать номера получателей в заголовке письма

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

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

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

79255070602,74993221627

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

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

Если вы используете буквенного отправителя, вы можете указать его в заголовке письма (в противном случае будет использоваться отправитель по умолчанию). Если вы хотите, чтобы ваше сообщение было автоматически переведено в латиницу, используйте ключевое слово 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", // заголовок письма с номером получателя, а также дополнительными параметрами
    "Здравствуйте, я Ваша программа!"
);

Последнее обновление: 04 Августа 2017 в 09:35

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