AnyMessage

class · пространство имён z3n7.Api · исходник Mail/AnyMessage.cs

public class AnyMessage

Клиент почтового сервиса AnyMessage (api.anymessage.shop): краткосрочные и долгосрочные ящики. Состояние хранится в переменных проекта: anyMailId — текущий краткосрочный заказ, anyLLId — долгосрочный. Ответ, у которого status не success, приводит к исключению с сообщением сервиса.

Конструкторы

AnyMessage

public AnyMessage(IZennoPosterProjectModel project, string apikey, bool log = false)

исходник

Создаёт клиент.

Параметр Описание
apikey API-токен AnyMessage.
log Писать запросы и ответы в лог.

Свойства

LastDomain

public string LastDomain { get; }

исходник

Домен последнего заказанного ящика; после замены может отличаться от запрошенного.

Методы

Balance

public string Balance()

исходник

Баланс аккаунта в том виде, в каком его вернул сервис.

Cancel

public void Cancel()

исходник

Отменяет заказ из anyMailId.

CheapestDomains

public List<string> CheapestDomains(string site, params string[] exclude)

исходник

Домены, где есть ящики, сначала самые дешёвые; при равной цене — тот, где ящиков больше.

Параметр Описание
site Целевой сайт.
exclude Какие домены исключить.

GetHrefs

public List<string> GetHrefs(int deadline = 60)

исходник

Ждёт письмо и собирает его уникальные ссылки, пропуская якоря, mailto:, tel:, javascript:, data: и ссылки на картинки, стили, скрипты и шрифты.

Параметр Описание
deadline Сколько секунд ждать письма.

GetLastMessages

public string GetLastMessages(string subject = null)

исходник

Последние письма долгосрочного ящика из anyLLId.

Параметр Описание
subject Если задано — только письма с этой темой.

Возвращает: Сырой ответ в JSON.

GetMail

public string GetMail(int deadline = 120)

исходник

Ждёт письмо в ящик из anyMailId, проверяя каждые 5 секунд.

Параметр Описание
deadline Сколько секунд ждать; потом TimeoutException.

Возвращает: Тело письма (HTML).

Href

public string Href(int hrefIndex = 0, int deadline = 60)

исходник

Возвращает одну ссылку из письма (см. GetHrefs).

Параметр Описание
hrefIndex Индекс ссылки; -1 пишет все ссылки в лог и возвращает пустую строку.
deadline Сколько секунд ждать письма.

LinkByRegex

public string LinkByRegex(string urlPattern)

исходник

Ждёт письмо и возвращает первое совпадение urlPattern в его HTML. Если совпадения нет, бросает исключение.

Параметр Описание
urlPattern Регулярное выражение.

NewMail

public string[] NewMail(string site, string domain = "outlook.com", bool fallback = true, int maxFallback = 5)

исходник

Заказывает краткосрочный ящик. Сохраняет id в anyMailId, адрес — в email и project.Profile.Email.

Параметр Описание
site Целевой сайт, например instagram.com.
domain Домен ящика.
fallback Если сервис отвечает «no emails», пробовать самые дешёвые доступные домены. Использованный домен попадает в LastDomain.
maxFallback Сколько запасных доменов пробовать.

Возвращает: [id, email]. Если ничего заказать не удалось, бросает исключение с ошибками всех попыток.

OrderLongLive

public string[] OrderLongLive(string site, string domain)

исходник

Покупает долгосрочный ящик. Сохраняет id в anyLLId, адрес — в anyLLEmail.

Параметр Описание
site Целевой сайт, например instagram.com.
domain Домен ящика, например hotmail.com.

Возвращает: [id, email, imapPassword, imapHost, imapPort] первого ящика в ответе.

Otp

public string Otp(int matchIndex = 0)

исходник

Ждёт письмо и достаёт 6-значный код; сохраняет его в mailOtp.

Параметр Описание
matchIndex Какое по счёту 6-значное число из письма брать; -1 пишет их все в лог и возвращает пустую строку.

Возвращает: Код. Бросает исключение, если за 10 попыток код не найден.

Quantity

public Dictionary<string, (int Count, double Price)> Quantity(string site)

исходник

Доступные домены для сайта (/email/quantity).

Параметр Описание
site Целевой сайт, например instagram.com.

Возвращает: Домен → (доступно ящиков, цена). Домены без цены не попадают.

Reorder

public string[] Reorder()

исходник

Заново заказывает ящик из anyMailId под новым id; обновляет anyMailId и email.

Возвращает: [id, email].