Makale numarası: 910360 - Son Gözden Geçirme: 16 Mart 2007 Cuma - Gözden geçirme: 1.1

"'CDO.Message' oluşturulamadı" hata iletisi ile ilgili sorunlar nasıl giderilir

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.
Önemli Bu makale, kayıt defterini düzenlemeyle ilgili bilgi içerir. Kayıt defterini değiştirmeden önce yedeklemeyi unutmayın. Bir sorun çıkması durumunda kayıt defterini nasıl geri yükleyeceğinizi bildiğinizden emin olun. Kayıt defterini yedekleme, geri yükleme ve değiştirme hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makaleyi inceleyin:
256986  (http://support.microsoft.com/kb/256986/ ) Microsoft Windows Kayıt Defteri'nin Açıklaması

Bu Sayfada

Hepsini aç | Hepsini kapa

Özet

Bu makalede, "'CDO.Message' oluşturulamadı" hata iletisinde nasıl sorun giderileceği açıklanır. E-posta iletileri göndermek için bir uygulama kullandığınızda bu ileti alabilirsiniz.

Daha fazla bilgi

Hata iletisi, bir Microsoft birlikte çalışma veri nesneleri (CDO) sorunu nedeniyle oluşur. Bu sorun olduğunda oluşur veya daha fazlası aşağıdaki koşullar doğruysa:
  • Cdosys.dll dosyasının doğru kaydettirilmemiş.
  • Kullanıcı hesabının kayıt defteri anahtarının CDO for Microsoft Windows 2000 Library erişmek için yeterli izinlere sahip (Cdosys.dll).
  • Geçersiz bir Basit Posta Aktarım Protokolü (SMTP) sanal sunucusunu kullanılıyor veya SmtpMail.SmtpServer özelliği doğru yapılandırılmamıştır.
  • Kullanıcı, SMTP sanal sunucusu üzerinden e-posta iletilerini izinlere sahip değil.
  • MailMessage.From özelliği, geçerli bir e-posta adresi için ayarlı değil.
CDO bu sorunu gidermek için aşağıdaki yöntemlerden birini veya birkaçını kullanabilirsiniz.Uyarı Kayıt Defteri Düzenleyicisi'ni veya başka bir yöntemi kullanarak kayıt defterini hatalı olarak değiştirirseniz önemli sorunlar oluşabilir. Bu sorunlar, işletim sisteminizi yeniden yüklemenizi gerektirebilir. Microsoft bu sorunların çözülebileceğini garanti etmemektedir. Kayıt defterini kendi sorumluluğunuzda değiştiriniz.

Yöntem 1: Cdosys.dll dosyasının doğru şekilde kayıtlı olduğundan emin olun.

  1. Cdosys.dll dosyasının doğru şekilde kaydedilip kaydedilmediğini belirler. Bunu yapmak için şu adımları izleyin:
    1. Başlat ' ı tıklatın, Çalıştır ' ı tıklatın, regedt32 yazın ve Tamam ' ı tıklatın.
    2. Kayıt Defteri Düzenleyicisi'nde öğesini bulun ve HKEY_CLASSES_ROOT kayıt defteri alt ağacı genişletin. Genişletme TypeLib ve {CD000000-8B95-11 D 1-82DB-00C04FB1625D} bulun.
    3. Genişletme {CD000000-8B95-11 D 1-82DB-00C04FB1625D}, 1. 0 ' ı genişletin ve 0 ' ı tıklatın.
    4. Win32 ' ı tıklatın ve sonra da aşağıdaki değeri sağdaki bölmede görüntülendiğini doğrulayın:
      Drive: \WINDOWS\system32\cdosys.dll
  2. Cdosys.dll dosyasını kaydettirin. Bunu yapmak için şu adımları izleyin:
    1. Başlat ' ı tıklatın, Çalıştır ' ı tıklatın, regsvr32 %systemroot%\system32\cdosys.dll yazın ve Tamam ' ı tıklatın.

      Not The 0x800704da alabileceğiniz CDO birden çok sürümünü aynı işletim sisteminde yoksa, hata kodu. Bu sorunu gidermek için <a0></a0>, Cdosys.dll dosyasının kaydını silmek için -u cdosys.dll regsrv32 komutunu kullanın. Sonra aşağıdaki komutu çalıştırarak Cdosys.dll dosyasını yeniden kaydettirin:
      regsvr32 %systemroot%\system32\cdosys.dll
      CDO sürümleri hakkında daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret edin:
      http://msdn2.microsoft.com/en-us/library/ms978698.aspx (http://msdn2.microsoft.com/en-us/library/ms978698.aspx)

Yöntem 2: CDO için Windows 2000 kitaplığı için kayıt defteri anahtarının erişim kullanıcı hesabı için izin ver

  1. Kullanıcı hesabının kayıt defteri anahtarının CDO için Windows 2000 kitaplığı için erişim izni verin.
  2. Başlat ' ı tıklatın, Çalıştır ' ı tıklatın, regedt32 yazın ve Tamam ' ı tıklatın.
  3. Kayıt Defteri Düzenleyicisi'nde bulun ve HKEY_CLASSES_ROOT kayıt defteri anahtarını genişletin. Genişletme TypeLib ve {CD000000-8B95-11 D 1-82DB-00C04FB1625D} bulun.
  4. Sağ {CD000000-8B95-11 D 1-82DB-00C04FB1625D}, izinler ' i tıklatın ve sonra Ekle ' yi tıklatın.
  5. Tür ComputerName \ UserName ve sonra Tamam ' ı tıklatın.

    Not Yer tutucu ComputerName bilgisayarın adını gösterir. Yer tutucuyu UserName kullanıcı adını gösterir.
  6. Içinde izin ver onay kutusunu tıklatarak sütunu, bir kullanıcıya okuma izni verin ve sonra Tamam ' ı tıklatın.

Yöntem 3: SmtpMail.SmtpServer özelliği geçerli bir sunucu IP adresi için ayarlanmış olduğunu doğrulayın.

Ağ üzerindeki bir geçerli SMTP posta sunucusunun IP adresini bildiğinizden emin olun. Daha sonra SmtpMail.SmtpServer özelliğinin değeri, geçerli değerine ayarlayın.

Yöntem 4: e-posta iletilerini SMTP hizmeti aracılığıyla kullanıcı izinlerini yapılandırma

  1. Başlat ' ı tıklatın, Çalıştır ' ı tıklatın, inetmgr yazın ve Tamam ' ı tıklatın.
  2. Genişletme (ComputerName) ve sonra da geçerli bir SMTP sanal sunucusunu sağ tıklatın.

    Not Yer tutucu ComputerName, yerel bilgisayarın adını gösterir.
  3. Özellikler ' i tıklatın. Güvenlik sekmesinde, kullanıcı hesabının bir işletmen ekleyin.
  4. Tüm iletişim kutularını ve sonra <a1>yeniden</a1> SMTP hizmetini kapatın.

Yöntem 5: MailMessage.From özelliği geçerli bir e-posta adresi için ayarlanmış olduğundan emin olun.

Var olan geçerli gönderenin e-posta adresini, SMTP sunucusunda kullanın. SmtpMail.SmtpServer özelliği, bu sunucuya işaret eder. Farklı bir hayali adresi MailMessage.From özelliğinin değeri için kullanmayın.

Cdosys.dll dosyasını, SMTP sunucuları için programlı olarak gösterecek şekilde yapılandırabilirsiniz. Bu seçenek, geliştiricilerin olan sunucuları uygulama ayarlarını temel alan SMTP sunucusu yapılandırmada esneklik sağlar. Aşağıdaki örnek kodda, bir Microsoft Visual C# Web uygulaması olan.
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Web.Mail;

namespace WebApplication1
{
	/// <summary>
	/// Summary description for WebForm1.
	/// </summary>
	public class WebForm1 : System.Web.UI.Page
	{
		private void Page_Load(object sender, System.EventArgs e)
		{
			MailMessage mail = new MailMessage();
			mail.To = "<john@contoso.com>";
			mail.From = "<ruth@contoso.com>";
			mail.Subject = "This is a test email.";
			mail.Body = "Some text goes here";
			
   // The following line will cause an exception to be thrown.
   SmtpMail.SmtpServer = "172.16.0.0";
			try
			{
				SmtpMail.Send(mail);
			}
			catch(Exception ex )
			{
				Response.Write("The following exception occurred: "  + ex.ToString() );
				
				// Check the InnerException.
				while( ex.InnerException != null )
				{
					Response.Write("--------------------------------");
					Response.Write("The following InnerException reported: " + ex.InnerException.ToString() );
					ex = ex.InnerException;
				}
			}
		}



		#region Web Form Designer generated code
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: This call is required by the ASP.NET Web Form Designer.
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// Required method for Designer support - do not modify
		/// the contents of this method with the code editor.
		/// </summary>
		private void InitializeComponent()
		{    
			this.Load += new System.EventHandler(this.Page_Load);

		}
		#endregion
	}
}
Not yer tutucular <john@contoso.com> ve <ruth@contoso.com> gerçek bir e-posta adreslerini kullanıcıları temsil eder.

Referanslar

Daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleleri görüntülemek üzere aşağıdaki makale numaralarını tıklatın:
827659  (http://support.microsoft.com/kb/827659/ ) Regsvr32.exe kullanarak bir DLL DOSYASı kaydetmeye çalıştığınızda bir "DllRegisterServer" hata iletisini alıyorsunuz
327219  (http://support.microsoft.com/kb/327219/ ) Birlikte çalışma veri nesneleri (Windows NT, Windows 2000 ve Exchange 2000 için Outlook Express gerektirir.

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Collaboration Data Objects 2.0
Anahtar Kelimeler: 
kbmt kbtshoot kbinfo KB910360 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:910360  (http://support.microsoft.com/kb/910360/en-us/ )
Retired KB ArticleKullanım Dışı Bilgi Bankası İçeriği Yasal Uyarı
Bu makale, Microsoft'un artık destek sağlamadığı ürünler ile ilgili olarak yazılmıştır. Bu nedenle, bu makale "olduğu gibi" sağlanmıştır ve bundan sonra güncelleştirilmeyecektir.