文書番号: 910360 - 最終更新日: 2007年3月16日 - リビジョン: 1.1

'CDO.Message' を作成できませんでした"のエラー メッセージのトラブルシューティング方法

重要です この資料では、レジストリを変更する方法について説明します。 必ず変更する前にレジストリをバックアップしてください。 問題が発生した場合はレジストリを復元する方法を知っているを確認します。 バックアップ、復元、およびレジストリを変更する方法の詳細についてはをクリックして以下「サポート技術情報」(Microsoft Knowledge Base) 資料を参照。
256986? (http://support.microsoft.com/kb/256986/ ) Description of the Microsoft Windows Registry JP256986 Microsoft Windows レジストリの説明

目次

すべて展開する | すべて折りたたむ

概要

ここでは、'CDO.Message' を作成できませんでした"のエラー メッセージのトラブルシューティング方法について説明します。 このメッセージ アプリケーションを使用して電子メール メッセージを送信する場合。

詳細

エラー メッセージはマイクロソフト コラボレーション データ オブジェクト (CDO) の問題によって発生します。 この問題は 1 つの場合に発生または複数、次の条件に該当します。
  • Cdosys.dll ファイルが正しく登録されていません。
  • ユーザー アカウントが、Windows 2000 のライブラリの CDO のレジストリ キーにアクセスする権限を持たない (Cdosys.dll)。
  • 無効な SMTP (簡易メール転送プロトコル) 仮想サーバーが使用されているか、または、 SmtpMail.SmtpServer プロパティの構成されて誤って。
  • ユーザーには、SMTP 仮想サーバー経由でリレー電子メール メッセージにアクセス許可がありません。
  • MailMessage.From プロパティが有効な電子メール アドレスに設定されていません。
以下の方法の 1 つ以上を使用して、CDO の問題を解決することがあります。 警告 深刻な問題が変更した場合、レジストリが誤ってをレジストリ エディターを使用するかをもう 1 つの方法を使用が発生します。 これらの問題のオペレーティング システムには、再をインストールすることが必要に可能性があります。 Microsoft できません、これらの問題責任を負わないこととします。 ユーザー自身の責任においてレジストリを変更します。

方法 1: Cdosys.dll ファイルが正しく登録されたことを確認します。

  1. Cdosys.dll ファイルが正しく登録されているかどうかを決定します。 これを行うには、次の手順を実行します。
    1. 開始 ] をクリックして 実行 ] をクリックして、 regedt32 と入力して [OK] をクリックします。
    2. レジストリ エディターを見つけて、 HKEY_CLASSES_ROOT レジストリ サブツリーを展開します。 展開 タイプ ライブラリ 、し {11-CD000000-8B95 D 1-82DB-00C04FB1625D} を見つけます。
    3. 展開 {11-CD000000-8B95 D 1-82DB-00C04FB1625D} 1. 0 ] を展開して [ 0 ] をクリックします。
    4. Win32 ] をクリックして、確認、次の値が右側のウィンドウで表示されます。
      Drive: \WINDOWS\system32\cdosys.dll
  2. Cdosys.dll ファイルを登録します。 これを行うには、次の手順を実行します。
    1. 開始 ] をクリックして [ 実行 ] をクリックして、 regsvr32 %systemroot%\system32\cdosys.dll と入力して [OK] をクリックします。

      メモ 0x800704da が表示されますが、同じオペレーティング システム上に複数のバージョンの CDO 存在する場合、エラー コード。 この問題を解決するのにには、Cdosys.dll ファイルを登録解除 regsrv32-u cdosys.dll コマンドを使用します。 次のコマンドを実行して、Cdosys.dll ファイルを登録します。
      regsvr32 %systemroot%\system32\cdosys.dll
      CDO のバージョンの詳細については参照の次のマイクロソフト開発者向けネットワーク (MSDN) Web サイトをしてください。
      http://msdn2.microsoft.com/en-us/library/ms978698.aspx (http://msdn2.microsoft.com/en-us/library/ms978698.aspx)

方法 2: ユーザー アカウントの Windows 2000 ライブラリの CDO のレジストリ キーにアクセスに対してアクセス許可を付与します。

  1. Windows 2000 ライブラリの CDO のレジストリ キーにアクセスするユーザー アカウントの許可します。
  2. 開始 ] をクリックして 実行 ] をクリックして、 regedt32 と入力して [OK] をクリックします。
  3. レジストリ エディターを見つけて、 HKEY_CLASSES_ROOT </a0> レジストリ キーを展開します。 展開 タイプ ライブラリ 、し {11-CD000000-8B95 D 1-82DB-00C04FB1625D} を見つけます。
  4. マウスの右ボタンでクリックして {11-CD000000-8B95 D 1-82DB-00C04FB1625D} ] </a0> が アクセス許可 ] </a0> を [ 追加 をクリックします。
  5. ComputerName \ UserName、[ OK] をクリックして

    メモ コンピューターの名前を ComputerName のプレースホルダーに表します。 プレースホルダーの UserName ユーザーの名前を表します。
  6. 許可する チェック ボックスをオンの列をユーザーに読み取りアクセス許可を与える [ OK] をクリック します。

方法 3: 有効なサーバーの IP アドレスに設定、SmtpMail.SmtpServer プロパティであることを確認します。

ネットワーク上で有効な SMTP メール サーバーの IP アドレスがわかっているを確認します。 有効な値に、 SmtpMail.SmtpServer プロパティの値を設定します。

方法 4: ユーザーのアクセス許可、SMTP サービスを介して電子メール メッセージの中継を構成します。

  1. 開始 ] をクリックして [ 実行 ] をクリックして、 inetmgr と入力して [OK] をクリックします。
  2. 展開 ComputerName、有効な SMTP 仮想サーバーを右クリックします。

    メモ ローカル コンピューターの名前を ComputerName のプレースホルダーに表します。
  3. [ プロパティ ] をクリックします。 [ セキュリティ ] タブで、ユーザー アカウントをオペレーターとして追加します。
  4. すべてのダイアログ ボックスと閉じますし再起動、SMTP サービス。

方法 5: MailMessage.From プロパティが有効な電子メール アドレスに設定されているを確認します。

存在する有効な送信者電子メール アドレス、SMTP サーバーを使用します。 SmtpMail.SmtpServer プロパティは、このサーバーを指します。 MailMessage.From プロパティの値を別の架空のアドレスを使わない。

Cdosys.dll ファイルをプログラムで SMTP サーバーを指すを構成することができます。 このオプション柔軟性開発者、サーバーのアプリケーションの設定に基づいて SMTP サーバーを構成します。 次に、Microsoft Visual C# Web アプリケーションのコード例。
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
	}
}
メモ プレースホルダー <john@contoso.com> および <ruth@contoso.com>、ユーザーの実際の電子メール アドレスを表します。

関連情報

についてには、記事の「サポート技術情報」(Microsoft Knowledge Base) を表示する次の資料番号をクリックしてします。
827659? (http://support.microsoft.com/kb/827659/ ) Regsvr32.exe を使用して DLL を登録するときに、"DllRegisterServer"エラーが表示されます。
327219? (http://support.microsoft.com/kb/327219/ ) コラボレーション データ オブジェクトの Windows NT、Windows 2000 および Exchange 2000 の Outlook Express を要求します。

この資料は以下の製品について記述したものです。
  • Microsoft Collaboration Data Objects 2.0
キーワード:?
kbmt kbtshoot kbinfo KB910360 KbMtja
機械翻訳機械翻訳
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:910360? (http://support.microsoft.com/kb/910360/en-us/ )
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"
Retired KB Articleサポート期間が終了した「サポート技術情報」資料に関する免責事項
この資料は、マイクロソフトでサポートされていない製品について記述したものです。そのため、この資料は現状ベースで提供されており、今後更新されることはありません。
 

サポート技術情報の翻訳