📚 HomicMail API - Code Examples

Full flow Python - Tạo email, chờ mail, lấy OTP


import requests
import time

# Khởi tạo session để giữ cookie
session = requests.Session()
BASE = "https://tempmail.rionfashion.com"

# 1. Tạo email
r = session.post(f"{BASE}/api/generate", json={"username": "myuser"})
email = r.json()["email"]
print(f"Email: {email}")

# 2. Loop check inbox
for _ in range(30):  # timeout 5 phút
    r = session.get(f"{BASE}/api/inbox")
    emails = r.json()["emails"]
    if emails:
        # Lấy mail đầu tiên
        mail = emails[0]
        print(f"New mail from: {mail['from']}, subject: {mail['subject']}")

        # 3. Đọc nội dung
        detail = session.get(f"{BASE}/api/message/{mail['id']}").json()
        print("Body:", detail["body"][:500])
        break
    time.sleep(10)

Tạo email random - Python


import requests

r = requests.post("https://tempmail.rionfashion.com/api/generate",
    json={})
data = r.json()
print(f"Email: {data['email']}")
print(f"Password: {data['password']}")

Bash script - Poll inbox đến khi có mail

#!/bin/bash
BASE="https://tempmail.rionfashion.com"

# 1. Tạo email
EMAIL=$(curl -s -c cookies.txt -X POST $BASE/api/generate \
    -H "Content-Type: application/json" \
    -d '{"username": "mybot"}' | jq -r .email)
echo "Email: $EMAIL"

# 2. Poll inbox trong 5 phút
for i in {1..30}; do
    COUNT=$(curl -s -b cookies.txt $BASE/api/inbox | jq '.emails | length')
    if [ "$COUNT" -gt "0" ]; then
        echo "Có mail!"
        MAIL_ID=$(curl -s -b cookies.txt $BASE/api/inbox | jq -r '.emails[0].id')
        curl -s -b cookies.txt "$BASE/api/message/$MAIL_ID" | jq .
        break
    fi
    sleep 10
done

Node.js (axios + tough-cookie) - Full flow


const axios = require('axios');
const { CookieJar } = require('tough-cookie');
const { wrapper } = require('axios-cookiejar-support');

const jar = new CookieJar();
const client = wrapper(axios.create({ jar }));
const BASE = 'https://tempmail.rionfashion.com';

(async () => {
  // 1. Tạo email
  const { data } = await client.post(`${BASE}/api/generate`, { username: 'mybot' });
  console.log('Email:', data.email);

  // 2. Poll inbox
  for (let i = 0; i < 30; i++) {
    const inbox = await client.get(`${BASE}/api/inbox`);
    if (inbox.data.emails.length > 0) {
      const mailId = inbox.data.emails[0].id;
      const mail = await client.get(`${BASE}/api/message/${encodeURIComponent(mailId)}`);
      console.log('Subject:', mail.data.subject);
      console.log('Body:', mail.data.body);
      break;
    }
    await new Promise(r => setTimeout(r, 10000));
  }
})();

🔌 Integration Tips