Open source Ruby API pro kontrolu sledování e‑mailů a stavu doručení
Postal je plnohodnotné Mail API a doručovací platforma navržená pro zpracování příchozích i odchozích e‑mailů pro webové stránky, aplikace a kontrolu sledování e‑mailů a stavu doručení.
Co je Postal Library?
V dnešním digitálním prostředí je efektivní e‑mailová komunikace důležitější než kdy dříve. Ať už odesíláte transakční e‑maily, marketingové kampaně nebo běžná oznámení, spolehlivá a škálovatelná platforma pro doručování e‑mailů je nezbytná. Zatímco proprietární služby jako SendGrid a Mailgun dominují na trhu, mocná open-source alternativa získává pozornost: Postal. Gem Postal Ruby je komunitou udržovaná knihovna klienta pro Ruby, která poskytuje rozhraní pro používání platformy Postal pro doručování e‑mailů. Umožňuje aplikacím v Ruby (a Rails) integrovat se s Postal prostřednictvím jeho HTTP API. Je navržena s ohledem na vývojáře Ruby. Nejenže jen obaluje koncové body API; poskytuje objektově orientované rozhraní, které se v Ruby kontextu cítí přirozeně.
Postal je kompletní, plně vybavená, open-source platforma pro doručování pošty pro webové stránky a webové servery. Považujte ji za svůj vlastní soukromý SendGrid nebo Mailgun, běžící na vašich vlastních serverech. To vám dává úplnou kontrolu nad odesíláním e‑mailů, daty a reputací. Vyvinutý v Ruby a podpořený robustní sadou technologií, Postal je navržen pro výkon, škálovatelnost a snadné použití. Poskytuje komplexní webové rozhraní pro správu vašich poštovních serverů, prohlížení logů a sledování výkonu, a zároveň nabízí výkonné API pro bezproblémovou integraci s vašimi aplikacemi.
Začínáme s Postal
Nejjednodušší způsob instalace knihovny Postal je přes RubyGems. Použijte prosím následující příkaz pro snadnou instalaci.
Nainstalujte Postal přes Rubygems
gem install 'postal-ruby'Odeslání základního e‑mailu pomocí Ruby API
Otevřený zdroj Postal API zahrnuje kompletní podporu pro odesílání e‑mailových zpráv různými způsoby. Ruby vývojáři mohou odesílat e‑maily více způsoby, přizpůsobenými různým úrovním složitosti. Simple Hash je ideální pro rychlé odeslání se základními parametry. Prostý text a HTML lze použít k odeslání multipart e‑mailů. Také podporuje snadné přikládání souborů k vašim e‑mailovým zprávám a podobně. Následující příklad ukazuje nejjednodušší způsob, jak odeslat e‑mail.
Jak odeslat jednoduchý e‑mail pomocí Ruby API?
# Create a client instance
client = Postal::Client.new
# Send a message using a hash of parameters
message = client.send_message(
from: 'noreply@yourdomain.com',
to: 'customer@example.com',
subject: 'Welcome to Our Service!',
body: 'Thank you for signing up. We are excited to have you on board.'
)
# The response contains the message ID, which you can use for tracking
puts "Message sent! ID: #{message.message_id}"
Zkontrolujte sledování e‑mailů a stav doručení
Sledujte otevření e‑mailů a kliknutí, abyste odhadli účinnost svých kampaní. Postal API poskytuje kompletní funkčnost pro sledování vašich e‑mailových zpráv v Ruby aplikacích. Po odeslání e‑mailu můžete použít vrácené message_id k ověření jeho aktuálního stavu. Sledujte otevření e‑mailů a kliknutí, abyste odhadli účinnost svých kampaní. Následující příklad ukazuje, jak pomocí Ruby příkazů zkontrolovat stav doručení e‑mailové zprávy.
Jak zkontrolovat stav doručení e‑mailové zprávy pomocí Ruby API?
# Assume you've stored the message_id from the send operation
stored_message_id = '01G5XYZABCDEF1234567890'
# Get the message details from Postal
message_details = client.get_message(stored_message_id)
# Check the delivery status
puts "Message Status: #{message_details.status}"
# Inspect the raw message (as received by the destination server)
puts "Raw Message: #{message_details.raw_message}"
# Check if the email has been opened
if message_details.opens.any?
puts "The email was opened #{message_details.opens.count} time(s)."
end
Odeslání bohatého HTML e‑mailu s přílohou
Moderní e-maily často vyžadují formátování HTML a přílohy. Open source Postal email API usnadňuje vývojářům softwaru vytvářet a odesílat bohaté HTML e‑mailové zprávy z jejich Ruby aplikací. Je dobrým postupem vždy zahrnout verzi prostého textu pro e‑mailové klienty, které nepodporují HTML. Můžete předat pole objektů File k připojení dokumentů, obrázků atd. Zde je velmi užitečný ukázkový kód, který ukazuje, jak mohou vývojáři softwaru vytvářet a odesílat HTML e‑mailové zprávy s přílohami pomocí Ruby API.
Jak odeslat bohatý HTML e‑mail s přílohou pomocí Ruby API?
client = Postal::Client.new
message = client.send_message(
from: 'orders@yourdomain.com',
to: 'customer@example.com',
subject: 'Your Order Confirmation #12345',
html_body: File.read('path/to/order_confirmation.html'), # Load HTML from a file
plain_body: 'Thank you for your order. Your order number is #12345.', # Fallback text
attachments: [
File.open('/path/to/invoice_12345.pdf') # Attach a file
]
)
puts "Rich email sent with attachment! ID: #{message.message_id}"