2014-05-16 1 views
1

푸른 하늘에 내 asp.net 응용 프로그램에서 메일을 보내려고하지만 성공하지 못했습니다.메일 보내기 - azure

임 동일한 코드로,이 작업을 수행 할 수 내 로컬 컴퓨터 메신저 :

MailMessage msg = new MailMessage(); 
msg.From = new MailAddress("[email protected]", "myName"); 
msg.Subject = subject; 
msg.Body = body; 
msg.BodyEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1"); 
msg.IsBodyHtml = html; 
SmtpClient client = new SmtpClient("smtp.gmail.com"); 
client.Port = 25; //587 works too 
client.Credentials = new NetworkCredential("[email protected]", "myPass"); 
client.EnableSsl = true; 
client.Send(msg); 

임 내 환경, 그것은 잘 작동

.

는 푸른 환경에서 배포 한 후, 나는 예외를 나타납니다

SMTP 서버는 보안 연결을 필요로 또는 클라이언트가 인증되지 않았습니다. 서버 응답은 : 5.5.1 인증 필요.

아무도 알아?

고맙습니다.

+0

의 : http://stackoverflow.com/a/20906573/301703 – Noel

답변

2

Azure 환경에는 클라이언트 환경과 달리 SMTP에 직접 연결하여 상호 작용할 수있는 포트가 없습니다. Azure 내에서 이메일을 보내기위한 API를 제공하는 SendGrid와 같은 서비스를 이용할 수 있습니다. 나는 당신의 기존 접근 방식 대신에 외형을 가지고 그 서비스를 사용할 것을 강력하게 권고한다.

http://sendgrid.com/windowsazure.html

당신은뿐만 아니라 SendGrid 같은 서비스를 사용하여 개발 및 푸른 모두에서 이메일을 보낼 수 있습니다.

+0

감사! 나는 그것을 시도 할 것이다. – DenMath

0

를 추가해보십시오이 두 라인 :

client.UseDefaultCredentials = false; 
client.DeliveryMethod = SmtpDeliveryMethod.Network; 

나는 또한 시도 할 것이다 포트 587 대신 너무이 답변이 도움이 될 수 있습니다 (25)

+0

고마워, 나는 시도했지만 여전히 이메일을 보낼 수 없다. SendGrid를 설치하려고합니다. 고마워요! – DenMath

+0

클라우드 서비스에서 Sendgrid를 사용하고 있습니다. 좋은 선택입니다. – Noel