문제

다음 기능은 완벽하게 작동합니다.

    protected void SendWebMailMessage(string DisplayName, string From, string ReplyTo,
        string To, string Subject, string Body, string Attachments)
    {
        System.Web.Mail.MailMessage msg = new System.Web.Mail.MailMessage();
        msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserver",
             "smtpout.secureserver.net");
        msg.Fields.Add(
             "http://schemas.microsoft.com/cdo/configuration/smtpserverport", 25);
        msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusing", 
             2);
        msg.Fields.Add(
             "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", 1);
        msg.Fields.Add(
             "http://schemas.microsoft.com/cdo/configuration/sendusername", From);
        msg.Fields.Add(
             "http://schemas.microsoft.com/cdo/configuration/sendpassword",
             mailpassword);
        msg.To = To;
        msg.From = DisplayName + "<" + From + ">";
        msg.BodyFormat = MailFormat.Html;
        msg.Subject = Subject;
        msg.Body = Body;
        msg.Headers.Add("Reply-To", ReplyTo);
        SmtpMail.SmtpServer = "smtpout.secureserver.net";
        SmtpMail.Send(msg);
    }

그러나 System.web.mail이 쓸모없고 System.net.mail을 사용해야한다는 제작 경고를받습니다. 그래서 나는 system.net.mail을 사용했고, 이전 기능을 대체하기 위해 다음과 같은 기능을 생각해 냈습니다.

    protected void SendNetMailMessage(string DisplayName, string From, string ReplyTo, 
        string To, string Subject, string Body, string Attachments)
    {
        MailAddress addrfrom = new MailAddress(From, DisplayName);
        MailAddress addrto = new MailAddress(To);
        MailAddress replytoaddr = new MailAddress(ReplyTo);
        System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();
        msg.From = addrfrom;
        msg.To.Add(addrto);
        msg.ReplyTo = replytoaddr;
        msg.IsBodyHtml = true;
        SmtpClient smtp = new SmtpClient("smtpout.secureserver.net");
        smtp.Credentials = new NetworkCredential(From, mailpassword);
        smtp.Send(msg);
    }

예외 나 오류가 발생하지 않지만 내 메시지는 결코 겪지 않습니다. 누구든지 내가 뭘 잘못하고 있는지 말해 줄 수 있습니까? 미리 감사드립니다.

도움이 되었습니까?

해결책

내가 틀리지 않았다면 ... 당신은 Goddady 호스팅을 사용하고 있습니다. 나는 또한 그것을 사용하고 있습니다 ... 그리고 나는 가지고 있습니다 **relay-hosting.secureserver.net** SMTP 서버로. 모르겠습니다.

다른 팁

나는 당신에게 코드를 잘 테스트했습니다. 그것은 잘 작동합니다. 나는 신체와 주제 특성을 추가해야했지만, 그들 없이도 여전히 빈 이메일을 받았습니다. 나는 또한 자격 증명을 제공하거나 제공하지 않고 시도했지만 둘 다 효과가있었습니다.

처음에 나는 당신의 호스트 문자열을 변경하지 않았으며 "실패를 보내는 메일"메시지로 예외를 받았습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top