신속 하 고 쉽게: .NET C#에서 Gmail SMTP 서버를 사용 하 여 이메일을 보낼

이것은 정확 하 게 새로운 주제, 하지만 언제 그것을 할 필요가, "왜 나를 위해이 작동 하지 않습니다"을 많이 발견 하 고 너무 많은 직접 답변. 나는 누군가 이것을 유용한 발견 희망.

코드의 다음 비트는 그것을 내 자신의 gmail 계정을 사용 하 여 이메일을 보낼 것 이다, 첨부 파일 포함:

사용 하 여 System.Net.Mail;
사용 하 여 System.Net;

NetworkCredential loginInfo = 새로운 내용 NetworkCredential("[내 Gmail ID]", "[내 Gmail 비밀 번호]");
MailMessage msg = 새로운 내용 MailMessage();
msg입니다.=에서 새로운 내용 MailAddress("[M Gmail Id]@gmail.com");
msg입니다.To.Add(새로운 내용 MailAddress("paul.galvin@arcovis.com < cf 해시 스크립트 ="f9e31"유형 =" 텍스트/자바 스크립트 "> / *  * /"));
메시지입니다. 제목 = "테스트 infopath 개발 주제";
메시지입니다. 몸 = "<html><바디><강력한>강력한 메시지입니다.</강력한></바디></html>";
메시지입니다. IsBodyHtml = true;

foreach (문자열 aFile 에서 NIPFD입니다. GetAttachmentNamesAndLocations())
{
    메시지입니다. Attachments.Add(새로운 내용 첨부 파일(aFile));
} // 첨부 파일 추가.

SmtpClient 클라이언트 = 새로운 내용 SmtpClient("smtp.gmail.com");
클라이언트입니다.EnableSsl = true;
클라이언트입니다.해야 = false;
클라이언트입니다.자격 증명 = loginInfo;
클라이언트입니다.포트 = 587;
클라이언트입니다.EnableSsl = true;
클라이언트입니다.보내기(메시지);

느려 졌 나 몇 가지 주요 비트와 다른 관측 / 노트:

NetworkCredential loginInfo = 새로운 내용 NetworkCredential("sharepoint", "xyzzy");

  • 내 gmail 계정이 SSL을 사용 하도록 설정 하 고 그 문제가 아니.
  • 거기 밖으로 사용 하 여 어떤 포트에 어떤 충돌 정보. 내가 사용 하는 포트 587 그리고 그것은 나를 위해 괜 찮.
  • 내 경우에는, 나는 또한 첨부 파일을 보낼 필요가. NIPFD 개체는 어디 내 첨부 파일 알고 하는 방법. 그것은 완전히 경로 반환 (예를 들어. "c:\tempattachment1.jpg ". 내 테스트에서, 2 개의 첨부 파일을 했다 그리고 그들은 둘 다 괜 찮.

Visual studio를 사용 2008 이 코드를 작성 하려면.

</끝>

내 블로그를 구독.

에 지 저 귐에 나를 따르라합니다 http://www.twitter.com/pagalvin

테크노 태그: ,,,

2 "에 대한 생각신속 하 고 쉽게: .NET C#에서 Gmail SMTP 서버를 사용 하 여 이메일을 보낼

  1. 제프

    PowerShell 팀 블로그 최근에 서버 관리자로 귀중 한 발견 비슷한 게시물. Visual Studio는 잘 하지만 내 또래의 많은 개발자 라이센스를 구입 하지 않아도. PowerShell 명령 라인 더 느낌이 더 그들에 게 액세스할 수. 그냥 거기 밖으로 어떤 관리자에 대 한 제안.

    최고,
    제프 (www.spjeff.com / @spjeff)

    송신 MailMessage와 자동 이메일 전송

    http://blogs.msdn.com/powershell/archive/2009/10/30/sending-automated-emails-with-send-mailmessage-convertto-html-and-the-powershellpack-s-taskscheduler-module.aspx

    회신

응답을 남기다

귀하의 이메일 주소는 공개되지 않습니다. 필요 입력 사항은 표시되어 있습니다 *