programing

HTML 형식의 전자 메일을 보내는 방법은 무엇입니까?

padding 2023. 5. 13. 09:15
반응형

HTML 형식의 전자 메일을 보내는 방법은 무엇입니까?

Windows 작업 스케줄러를 사용하여 웹 응용 프로그램에서 자동 전자 메일을 보낼 수 있습니다.이제 메일을 보내기 위해 작성한 다음 방법을 사용하여 HTML 형식의 이메일을 보내고 싶습니다.

내 코드백:

protected void Page_Load(object sender, EventArgs e)
    {
        SmtpClient sc = new SmtpClient("mail address");
        MailMessage msg = null;

        try
        {
            msg = new MailMessage("xxxx@gmail.com",
                "yyyy@gmail.com", "Message from PSSP System",
                "This email sent by the PSSP system");

             sc.Send(msg);
        }

        catch (Exception ex)
        {
            throw ex;
        }

        finally
        {
            if (msg != null)
            {
                msg.Dispose();
            }
        }
    }

어떻게 하는 거지?이메일에 하나의 링크와 하나의 이미지가 있는 굵은 텍스트를 넣고 싶습니다.

설정isBodyHtml로.true메시지 본문에서 HTML 태그를 사용할 수 있습니다.

msg = new MailMessage("xxxx@gmail.com",
                "yyyy@gmail.com", "Message from PSSP System",
                "This email sent by the PSSP system<br />" +
                "<b>this is bold text!</b>");

msg.IsBodyHtml = true;

HTML 형식의 전자 메일을 보내는 가장 좋은 방법

이 코드는 "Customer.htm"에 포함됩니다.

    <table>
    <tr>
        <td>
            Dealer's Company Name
        </td>
        <td>
            :
        </td>
        <td>
            #DealerCompanyName#
        </td>
    </tr>
</table>

시스템을 사용하여 HTML 파일을 읽습니다.IO.파일.ReadAllText. 문자열 변수의 모든 HTML 코드를 가져옵니다.

string Body = System.IO.File.ReadAllText(HttpContext.Current.Server.MapPath("EmailTemplates/Customer.htm"));

특정 문자열을 사용자 지정 값으로 바꿉니다.

Body = Body.Replace("#DealerCompanyName#", _lstGetDealerRoleAndContactInfoByCompanyIDResult[0].CompanyName);

SendEmail(문자열 본문) Function을 호출하고 전자 메일을 보내는 절차를 수행합니다.

 public static void SendEmail(string Body)
        {
            MailMessage message = new MailMessage();
            message.From = new MailAddress(Session["Email"].Tostring());
            message.To.Add(ConfigurationSettings.AppSettings["RequesEmail"].ToString());
            message.Subject = "Request from " + SessionFactory.CurrentCompany.CompanyName + " to add a new supplier";
            message.IsBodyHtml = true;
            message.Body = Body;

            SmtpClient smtpClient = new SmtpClient();
            smtpClient.UseDefaultCredentials = true;

            smtpClient.Host = ConfigurationSettings.AppSettings["SMTP"].ToString();
            smtpClient.Port = Convert.ToInt32(ConfigurationSettings.AppSettings["PORT"].ToString());
            smtpClient.EnableSsl = true;
            smtpClient.Credentials = new System.Net.NetworkCredential(ConfigurationSettings.AppSettings["USERNAME"].ToString(), ConfigurationSettings.AppSettings["PASSWORD"].ToString());
            smtpClient.Send(message);
        }

이것은 나에게 효과가 있습니다.

msg.BodyFormat = MailFormat.Html;

그리고 나서 당신은 당신의 몸에서 html을 사용할 수 있습니다.

msg.Body = "<em>It's great to use HTML in mail!!</em>"

언급URL : https://stackoverflow.com/questions/8628683/how-to-send-html-formatted-email

반응형