내부 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
에 자격 증명 속성을 설정하지만, 어딘가에 선을 따라 계정의 자격 증명이 프로그램을 실행 해요 : 기본적으로 내가 보내고있다 우편물이와 교환에 의해 거부지고 (저, 유효한 사서함이있는 유효한 도메인 사용자)는 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 서버에있는 기존 사서함 : 나는 우리의 Exchange 서버 관리자에게 이야기#550 5.7.1 RESOLVER.RST.AuthRequired; authentication required ##rfc822;[email protected]
그는 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
분명히 그 상태 코드와 하위 상태 코드를 번역하려면 : 어딘가에 선을 따라, 내 Windows 자격 증명이있는 경우로
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
그래서 다시
, 그건 SmtpClient.Credentials
을 System.Net.CredentialCache.DefaultNetworkCredentials
아이디어가 있으십니까?
미리 감사드립니다. 당신이 이름을 통과해야
@Austin - 감사합니다 빠른 편집 불쌍한 내 서식을 정리하는 – russcollier
당신은 사용자 이름, 암호를 전달 대해 생각하고있을 경우 개인의 그룹 방금 설정 :-), 당신은 무리 날 이길 메일 서버 또는 IIS의 메일 계정에 추가하고 해당 그룹에 속한 개인의 전자 메일을 추가하십시오. MSDN : Site - http://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.credentials.aspx – MethodMan
내 메모를 메모/서버에서 따라갈 수 있기를 바랍니다. smpt.somedomain.com입니다 .. ok .. 귀하의 서버로 대체하십시오 – MethodMan