内部Exchange 2007サーバー(SMTPを使用)を経由して、C#コンソールアプリケーションから同じドメイン上のすべてのクライアントに自動電子メールを送信しようとしていますが、認証済みの送信者のみを許可する配布リスト。SmtpClientとDefaultNetworkCredentialsを使用して認証された送信者のみを許可する配布リストにメールを送信するにはどうすればよいですか?
#550 5.7.1 RESOLVER.RST.AuthRequired; authentication required ##rfc822;[email protected]
私はSystem.Net.Mail.SmtpClient
を使用してSystem.Net.CredentialCache.DefaultNetworkCredentials
にCredentialsプロパティを設定しますが、どこかのラインに沿って、アカウントの資格情報がこのプログラムを実行しています:基本的に私は送るよメールがとの交換によって拒否得ています(私、有効なメールボックスを持つ有効なドメインユーザー)はExchangeに正しく渡されません。
私はユーザー名やパスワードを(コード自体や設定ファイルのいずれかに)ハードコードしたくないので、System.Net.CredentialCache.DefaultNetworkCredentials
を使用しています。 Windows認証を使用してプロセスをSMTPサーバーで認証します。
using System;
using System.Net.Mail;
namespace ConsoleApplication1
{
class Program
{
static void Main()
{
var smtpClient = new SmtpClient
{
Host = "MAIL",
Port = 25,
DeliveryMethod = SmtpDeliveryMethod.Network,
Credentials = System.Net.CredentialCache.DefaultNetworkCredentials
};
var mailMessage = new MailMessage
{
Body = "Testing",
From = new MailAddress(Environment.UserName + "@example.com"),
Subject = "Testing",
Priority = MailPriority.Normal
};
mailMessage.To.Add("[email protected]");
smtpClient.Send(mailMessage);
}
}
}
私は自分自身としてこれを実行するたびに(再び、私は上の有効なユーザーだ:ここで
は、私は(ドメイン名がanonomizedされている)問題を再現するために使用してきたテストプログラムでありますExchangeサーバー上の既存のメールボックスを持つドメイン、)私は応答との交流から配信不能バウンスメッセージが表示されます。
#550 5.7.1 RESOLVER.RST.AuthRequired; authentication required ##rfc822;[email protected]
私たちのExchangeサーバー管理者に話し、彼はExchangeサーバーのEVから次のエラーを見ました耳鼻咽喉科ログ:
Account For Which Logon Failed:
Security ID: NULL SID
Account Name:
Account Domain:
Failure Information:
Failure Reason: Unknown user name or bad password.
Status: 0xc000006d
Sub Status: 0xC0000064
は、どうやらそのステータスコードとサブステータスコードに変換:
0xc000006d This is either due to a bad username or authentication information. Usually logged as status code with 0xc0000064 as substatus
0xC0000064 user name does not exist
だから、再び、それはどこかのラインに沿っているかのようだ、私のWindows資格情報がありますSmtpClient.Credentials
をSystem.Net.CredentialCache.DefaultNetworkCredentials
アイデア?
ありがとうございます!ユーザー名を渡す必要が
@Austin - おかげで迅速な編集が私の貧弱な書式設定をクリーンアップするために – russcollier
は、ユーザー名、パスワードを渡すことについて考えているとがあれば個人のグループがちょうどセットアップ:-)、あなたは束に私を打ちますメールサーバーまたはIIS上のメールアカウントを開き、そのグループに所属する個人の電子メールを追加します。あなたはMSDNにチェックしましたか:サイト - http://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.credentials.aspx – MethodMan
私はコメントで私のメモに従うことができることを願って//サーバーsmpt.somedomain.com ok ..あなたのサーバに置き換えてください – MethodMan