# Простые вызовы Simail из ZennoPoster

Каждый файл ZennoPoster.*.cs — самостоятельный кубик «C# код».
Общий код, SimailClient, профиль браузера и дополнительные библиотеки ему не нужны.
Используется встроенный ZennoPoster.HTTP.Request. Прокси задаётся строкой
в параметре proxy; по умолчанию пустая строка означает прямой запрос.

Создайте переменные simail_api_key и simail_response.
Для чтения/удаления также создайте mailbox_id: укажите ID или email ящика.

- ZennoPoster.Domains.cs — список доступных доменов.
- ZennoPoster.Create.cs — создать ящик; случайный домен по умолчанию.
  Для выбора домена добавьте к URL ?domain=ikkyo.net.
- ZennoPoster.Read.cs — получить полное последнее письмо.
- ZennoPoster.Delete.cs — удалить ящик.

Каждый кубик возвращает тело ответа строкой и сохраняет его в simail_response.
Сервис возвращает JSON, но код его не разбирает и не требует JSON-библиотек.
ID/email из ответа создания сохраните штатными действиями вашего шаблона;
примеры не заполняют mailbox_id автоматически.
Коды из письма не извлекаются; содержимое возвращается без клиентского разбора.
При отсутствии письма latest?silent=true возвращает data:null.
Ошибки HTTP-клиента вызывают исключение (throwExceptionOnError: true).
Пустой ответ также завершает кубик ошибкой вместо ложного успешного выполнения.

SimailClient.cs — необязательный класс для «Общего кода», если удобнее вызовы:

```csharp
var mail = new SimailClient(project.Variables["simail_api_key"].Value);
string response = mail.CreateMailbox();
// mail.CreateMailbox("ikkyo.net");
// mail.GetLatestMessage("ID или email");
return response;
```

У класса нет namespace SimailExamples, все методы возвращают string.
Замените старый общий код целиком. Для самостоятельных кубиков удалите старые
строки с SimailExamples, Profile.UseProxy и WaitForOtp.
Не записывайте ключи или содержимое почты в общий журнал.
Компиляция и запуск внутри ProjectMaker для этой редакции не выполнялись.
