Aracılığıyla paylaş


Veritabanı postası: Posta kuyruğa alındı, teslim edilmedi

Şunlar için geçerlidir:SQL ServerAzure SQL Yönetilen Örneği

Bu makalede, Veritabanı Postası'ndan gelen e-posta iletilerinin başarıyla kuyruğa alındığı, ancak iletilerin teslim edilmediği bir sorunun nasıl giderileceği açıklanır.

Sorunu tanılama

Veritabanı Postası dış programı msdb veritabanında e-posta etkinliğini günlüğe kaydeder.

  1. İlk olarak, Veritabanı Postası'nın etkinleştirildiğini onaylamak için, aşağıdaki örnekte olduğu gibi sistem saklı yordamının sp_configure kullanın:

    EXEC sp_configure 'show advanced', 1;  
    RECONFIGURE; 
    EXEC sp_configure; 
    GO
    
  2. Ardından, posta kuyruğunun msdb durumunu denetlemek için veritabanında aşağıdaki deyimi yürütür:

    EXEC msdb.dbo.sysmail_help_queue_sp @queue_type = 'Mail';
    

    Sütunların ayrıntılı açıklaması için bkz. sysmail_help_queue_sp (Transact-SQL).

  3. Etkinliği sysmail_event_log görünümünden inceleyin. Görünüm, Veritabanı Postası dış programının başlatıldığını belirten bir girdi içermelidir. Görünümde sysmail_event_log giriş yoksa, Kuyruğa Alınan İletiler, Girdi Yok belirtisine bakmak için sysmail_event_log'i kontrol edin.

  4. Görünümde sysmail_event_log hatalar varsa, belirli bir hatayı giderin. İletilerin sysmail_allitems durumunu görmek için görünümü denetleyin.

Gönderilmemiş mesaj durumu

Gönderilmemiş durumu, Veritabanı PostaSı Dış Programı'nın e-posta iletisini henüz işlemediğini gösterir.

Veritabanı Postası dış programı iletileri işlemede geri kalmış olabilir; dış programın iletileri işleme hızı ağ koşullarına, yeniden deneme zaman aşımına, iletilerin hacmine ve SMTP sunucusunun kapasitesine bağlıdır. Sorun devam ederse, iletileri birden fazla SMTP sunucusu arasında dağıtmak için birden fazla profil kullanmayı göz önünde bulundurun. Gönderilen e-postaların geçerli ve amaçlanan olduğunu doğrulamak için SQL Server'dan gönderilen e-posta yükünü gözden geçirin.

Başarıyla teslim edilen iletiler için en son değişiklik tarihini denetleyin. Son başarılı teslim bir süre önce gerçekleştiyse, dış programın Hizmet Aracısı tarafından başarıyla başlatıldığını doğrulamak için sysmail_event_log görünümünü denetleyin. Son deneme dış programı başlatmadıysa, Veritabanı PostaSı Dış Programı'nın doğru dizinde bulunduğunu ve SQL Server hizmet hesabının yürütülebilir dosyayı çalıştırma izni olduğunu doğrulayın. Veritabanı Postası ile ilgili hatalar için Windows Uygulaması olay günlüğünü denetleyin.

Uyarı

Eski gönderilmeyen iletileri silmek için teslim edilemeyen iletiler kuyruktaki en eski iletiler olana kadar bekleyin ve sonra bunları silmek için sistem saklı yordamını msdb.dbo.sysmail_delete_mailitems_sp kullanın.

Mesaj durumu yeniden deneniyor

Yeniden deneme durumu, Veritabanı Postası'nın iletiyi SMTP sunucusuna teslim etmeye çalıştığını ancak başarısız olduğunu gösterir. Bunun nedeni genellikle ağ kesintisi, SMTP sunucusunun hatası veya yanlış yapılandırılmış bir Veritabanı Posta hesabıdır. İletinin sonunda başarılı veya başarısız olması ve Windows Uygulaması olay günlüğüne bir ileti göndermesi gerekir.

İleti durumu gönderildi

Gönderildi durumu, Veritabanı Postası dış programının e-posta iletisini SMTP sunucusuna başarıyla teslim ettiğini gösterir.

İleti hedefe ulaşmadıysa, SMTP sunucusu iletiyi Veritabanı Postası'ndan kabul etti, ancak iletiyi son alıcıya teslim etmedi. SMTP sunucusunun günlüklerini denetleyin veya SMTP sunucusunun yöneticisine başvurun. Smtp posta sunucusunu, Outlook Express gibi başka bir istemci kullanarak da test edebilirsiniz.

İleti durumu başarısız oldu

Başarısız durumu, Veritabanı Postası dış programının iletiyi SMTP sunucusuna teslim edemediğini gösterir.

Bu durumda, msdb.dbo.sysmail_event_log sistem görünümü dış programdan ayrıntılı bilgileri içerir. sysmail_faileditems ve sysmail_event_log birleşimiyle ayrıntılı hata iletilerini almak için örnek bir sorgu için, bkz. Veritabanı Postası ile Gönderilen E-posta İletilerinin Durumunu Denetleme. Hatanın en yaygın nedenleri, yanlış bir hedef adresi veya dış programın bir veya daha fazla yük devretme hesabına ulaşmasını engelleyen ağ sorunlarıdır. SMTP sunucusundaki sorunlar, bu sunucunun postayı reddetmesine de neden olabilir. Veritabanı Posta Yapılandırma Sihirbazı'nı kullanarak Günlük Düzeyi'niAyrıntılı olarak değiştirin ve hata noktasını araştırmak için bir test postası gönderin.

Sonraki adım