.net 1.1에서 프로그램 제어를 사용하여 이메일을 보내는 방법. 예를 들어, 웹 사이트 사용자가 성공적으로 등록한 후 등록된 사용자에게 사용자의 등록 정보를 묻는 이메일이 자동으로 전송됩니다. 게다가 매일 정기적으로 소수의 고정된 사람들에게 보고서를 보내야 하는 경우도 있습니다. 다음과 같은 문제를 종합적으로 해결해야 합니다.
1. SMTP 서버 신원 인증.
2. 수신자가 여러 명일 때 보내는 방법.
3. 이메일 첨부파일을 보냅니다.
구현 절차는 다음과 같습니다.
System.Web.Mail을 사용하려면 네임스페이스에서 이를 참조합니다.
System.Web.Mail을 사용하여
이메일 전송 프로세스를 정의합니다.
/**//// <요약>
/// 이메일 메시지 보내기
///
/// 이메일 주소 받기
/// 이메일 제목
/// 이메일 텍스트
/// 첨부파일
public void SendMail(문자열 대상, 문자열 제목, 문자열 본문, MailAttachment mailatta)
{
MailMessage m_Mail = 새로운 MailMessage();
//SMTP 서버 이름 정의
SmtpMail.SmtpServer = "mail.13590.com";
//신원 인증을 요구하도록 SMTP 메일 서버 정의
m_Mail.Fields.Add(" http://schemas.microsoft.com/cdo/configuration/smtpauthenticate ", "1");
//인증된 사용자 이름
m_Mail.Fields.Add(" http://schemas.microsoft.com/cdo/configuration/sendusername ", "사용자 이름");
//인증 비밀번호
m_Mail.Fields.Add(" http://schemas.microsoft.com/cdo/configuration/sendpassword","password ")
//이메일 전송 주소를 정의합니다.
m_Mail.From=""Qiu Yu"< [email protected] >"
//이메일 수신 주소 정의
m_Mail.To = to.ToString();
//이메일의 BCC 주소를 정의합니다.
m_Mail.Bcc=" [email protected] ";
//이메일의 카본 카피 주소를 정의합니다.
m_Mail.Cc = " [email protected] ";
//이메일 제목 정의
m_Mail.Subject = 제목;
//이메일 본문 정의
m_Mail.Body = 본문;
//'이메일은 HTML 형식으로 전송됩니다.
m_Mail.BodyFormat = MailFormat.Text;
//메일의 제한된 수준을 정의하고 여기에서 높음으로 설정합니다.
m_Mail.Priority = MailPriority.High;
// 보낸 이메일에 첨부파일을 첨부합니다.
if (mailatta!=null)
{
m_Mail.Attachments.Add(mailatta);
}
노력하다
{
SmtpMail.Send(m_Mail);
}
잡다
{
//이메일 전송 중 오류 발생
Memo1.Text=Memo1.Text + 제목;
}
}
이메일 주소 ""Qiu Yu"< [email protected] >"에 주의하세요.
앞에 이름이 표시되고 그 뒤에 실제 이메일 주소가 옵니다. 수신자 주소가 여러 사람인 경우 ";"로 구분합니다. 예:
"Qiu Yu" < [email protected] >; "Administrator" < [email protected] > 이스케이프 문자 사용에 주의하세요.
우리는 프로그램을 사용하여 전화를 겁니다.
개인 무효 버튼_클릭(개체 전송자, System.EventArgs e)
{
string MailAddr=""Qiu Yu"< 사용자 이름@13590.com>; "관리자"< [email protected] > ";
string Subject="통계보고서를 확인해주세요";
문자열 MailBody="테스트";
string PathMailAtta=@"C: Statistical Report.xls";
MailAttachment mailatta;
노력하다
{
mailatta= new MailAttachment(PathMailAtta);
}
잡다
{
Memo1.Text=Memo1.Text+PathMailAtta+"예외가 있습니다. 열려 있는지 확인하세요.";
반품;
}
SendGroupMail(MailAddr,제목,MailBody,mailatta);
}
위 프로그램은 VS.Net2003 및 Windows 2003(SP1) 플랫폼에서 테스트되었습니다.