Geçici mail
cURL ile.
Tek satırlık kutular ve OTP yakalama, doğrudan terminalinizden curl + jq ile.
#!/usr/bin/env bash
# Create a disposable inbox (TTL 30 min) and print the address.
# Requires: curl, jq, and EVILMAIL_KEY in your environment.
curl -s -X POST https://evilmail.pro/api/temp-email \
-H "X-API-Key: $EVILMAIL_KEY" \
-H "Content-Type: application/json" \
-d '{"ttlMinutes": 30}' \
| jq -r '.data.email'cURL geçici e-postayı iş akışınıza bağlamak, tek kullanımlık bir gelen kutusu açmanıza, doğrulama e-postasını beklemenize ve onay kodunu kabuktan hiç çıkmadan almanıza olanak tanır. EvilMail, geliştiriciler için tasarlanmış bir geçici e-posta API'sidir: üç düz HTTP uç noktası, SDK yok, tarayıcı yok, her test için hesap açma yok. Bir CI hattından, bir bash test düzeneğinden veya hızlı tek seferlik bir betikten curl'ü ona yönlendirin; talep üzerine OTP kodları, sihirli bağlantılar ve karşılama e-postaları alan gerçek bir posta kutusu elde edin — kayıt ve e-posta doğrulama akışlarını uçtan uca çalıştırmak için mükemmel.
cURL ile neden geçici mail kullanmalısınız
CI'da otomatik e-posta doğrulama
Hattınızın içinde taze bir gelen kutusu oluşturun, bir kaydı tetikleyin ve onay e-postasını yoklayın — hepsi tek bir bash adımında. Paylaşımlı test posta kutusu yok, güvenilmez manuel kontroller yok.
OTP ve 2FA giriş testi
Tek kullanımlık şifreleri bir curl çağrısı ve bir regex ile alın, ardından doğrudan giriş akışınıza besleyin. Gerçek bir e-posta sınamasını geçmesi gereken uçtan uca testler için idealdir.
Betikler için tek kullanımlık adresler
Bir webhook, deneme kaydı veya duman testi için geçerli bir gelen kutusuna mı ihtiyacınız var? Bir POST isteğiyle anında oluşturun ve TTL sona erdiğinde atın.
İşlemsel e-posta hata ayıklama
Uygulamanızın gerçekte gönderdiği şeyin ham metnini ve HTML'ini yakalayın, ardından şablon veya teslimat hatalarını hızla yakalamak için konuları, bağlantıları ve gövdeleri komut satırından inceleyin.
Akış — 3 çağrıda cURL geçici mail
Tek kullanımlık bir gelen kutusu oluşturun
#!/usr/bin/env bash
set -euo pipefail
# Create a 30-minute disposable inbox in one POST.
resp=$(curl -s -X POST https://evilmail.pro/api/temp-email \
-H "X-API-Key: $EVILMAIL_KEY" \
-H "Content-Type: application/json" \
-d '{"ttlMinutes": 30}')
# Pull the address and session token out of the response.
EMAIL=$(echo "$resp" | jq -r '.data.email')
TOKEN=$(echo "$resp" | jq -r '.data.sessionToken')
echo "Inbox: $EMAIL"
echo "Token: $TOKEN"E-posta gelene kadar yoklayın
#!/usr/bin/env bash
set -euo pipefail
# Poll the inbox up to 20 times, 3s apart, until mail lands.
# (Note: don't use $UID — it's a read-only bash variable.)
MSG_UID=""
for i in $(seq 1 20); do
msgs=$(curl -s "https://evilmail.pro/api/temp-email/$TOKEN" \
-H "X-API-Key: $EVILMAIL_KEY")
MSG_UID=$(echo "$msgs" | jq -r '.data.messages[0].uid // empty')
if [ -n "$MSG_UID" ]; then
echo "Message arrived (uid=$MSG_UID)"
break
fi
echo "Attempt $i: nothing yet, retrying in 3s..."
sleep 3
done
if [ -z "$MSG_UID" ]; then
echo "Timed out waiting for mail" >&2
exit 1
fiMesajı okuyun ve kodu çıkarın
#!/usr/bin/env bash
set -euo pipefail
# Fetch the full message body by uid.
body=$(curl -s \
"https://evilmail.pro/api/message/$MSG_UID?token=$TOKEN" \
-H "X-API-Key: $EVILMAIL_KEY")
TEXT=$(echo "$body" | jq -r '.data.text')
# Grab the first standalone 6-digit code from the body.
CODE=$(echo "$TEXT" | grep -oE '\b[0-9]{6}\b' | head -n1)
echo "OTP: $CODE"cURL geçici mail — SSS
Q1cURL ile nasıl geçici mail adresi alırım?−
X-API-Key başlığınız ve {"ttlMinutes": 30} gibi bir JSON gövdesiyle https://evilmail.pro/api/temp-email adresine bir POST isteği gönderin. Yanıt, data.email (adres) ve tüm sonraki çağrılar için kullandığınız data.sessionToken değerini içerir. Alanları okumak için yanıtı jq'dan geçirin.
Q2Bunu otomatik test için kullanabilir miyim?+
Evet — birincil kullanım durumu budur. Her şey düz HTTP olduğu için herhangi bir CI çalıştırıcısından veya bash test betiğinden gelen kutuları oluşturabilir, mesajları yoklayabilir ve kodları çıkarabilirsiniz. Çalıştırmaları yalıtılmış tutmak ve durumlar arası çapraz bulaşmayı önlemek için her test çalıştırması başına taze bir gelen kutusu oluşturun.
Q3OTP'yi nasıl çıkarırım?+
Mesajı GET /api/message/{uid}?token={sessionToken} ile alın, jq aracılığıyla data.text (veya data.html) değerini okuyun, ardından üzerinde bir regex çalıştırın. Standart 6 haneli bir kod için grep -oE '\b[0-9]{6}\b' | head -n1 ilk eşleşmeyi döndürür. Deseni bağlantılar veya diğer kod biçimleri için ayarlayın.
Q4API anahtarı gerekir mi / hız sınırları var mı?+
Evet, her istek X-API-Key başlığınızı içermelidir — bunu EVILMAIL_KEY gibi bir ortam değişkeninden okuyun ve asla koda sabit yazmayın. İstekler anahtar başına hız sınırlıdır, bu nedenle uç noktayı sıkı bir döngüde zorlamak yerine yoklamalar arasına kısa bir sleep ekleyin (örneklerde 3 saniye kullanılıyor).
Q5Gelen kutusu ne kadar süre yaşar?+
Bunu oluşturma sırasında geçtiğiniz ttlMinutes değeriyle kontrol edersiniz — bu örneklerde 30 dakika. TTL sona erdiğinde adres ve mesajları otomatik olarak atılır, dolayısıyla temizlenecek bir şey kalmaz. Akışınızın teslimat için daha fazla zamana ihtiyacı varsa daha uzun bir TTL isteyin.
Diğer dillerde geçici mail
Tek bir API anahtarı. Ölçekte tek kullanımlık gelen kutuları.
Sınırsız tek kullanımlık adres oluşturun, bunları HTTP üzerinden sorgulayın ve doğrulama kodlarını doğrudan testlerinize ve CI'nıza çekin. Başlaması ücretsiz; özel alan adları ve daha yüksek limitler ücretli planlarda.

