6

自分のサイトからUniformhttp ://co.zaレジストラにメールを送信し、メールで自分自身をCCに送信すると、メールを受信したというメールが返送されますが、面白い文字が含まれているため、一部の情報が見つかりません。それに追加されました。サイトに以前の投稿があったのを見ましたが、答えはどれもうまくいかないようで、グーグルでたくさんの投稿とブログを試しました。

メールの本文全体は、レジストラサイトから取得したテンプレートで構成されており、それらを入力して置き換えるために必要な詳細として使用し、メールの本文をレジストラに送信します。

EX: 
1a. Complete domain name: < domainname >
gets replaces with the domain name exmaple.co.za

私のコード:

    MailMessage emailmsg = new MailMessage("myemail@domain.co.za", "coza-admin@co.za");
            emailmsg.Subject = "N domain domain.co.za";
            emailmsg.Bcc.Add("myemail@domain.co.za");
            emailmsg.Body = Body;
            emailmsg.IsBodyHtml = false;

            var plainView = AlternateView.CreateAlternateViewFromString(Body, new     ContentType("text/plain; charset=iso-8859-1"));
            plainView.TransferEncoding = TransferEncoding.SevenBit;
            emailmsg.AlternateViews.Add(plainView);

            SmtpClient sSmtp = new SmtpClient();
            sSmtp.Send(emailmsg);

このコードはbccコピーを自分自身に送信し、その外観からOutlookまではすべて問題ないように見えますが、受信すると文字が追加されます。それらの文字をランダムに追加しているようです。秒名サーバーが見つからないため、明らかにリクエストは失敗します。

返信メール:

Administrative Info
Contact:   Administrator=0D=0A 4b. Title/posi=   (Administrator)
Company:   CompanyName Ltd
Postal:    P.O Box 12841, Centrahill, 6006
Phone:     +27.00000000=0D=0A  4f. Fax Number: +27.00000000=

Provided Nameserver information
Primary Server  : ns1.nameserver.co.za 
Secondary 1     : ns2.nameserver.co.za=0d=0a,

どんな助けでもいただければ幸いです。

注:レジストラは、システムがプレーン/テキストの電子メールとファックスを取得して自動的に処理するため、電子メールがbase64やhtmlではなくプレーンテキストである必要があります。

ありがとう

4

2 に答える 2

5

= OD = OAは、CrLfのquoted-printable表現です。

iso-8859-1文字セットを使用する場合は、次の行を削除する必要があります。

plainView.TransferEncoding = TransferEncoding.SevenBit;

7ビットエンコーディングの使用を主張する場合は、電子メールで使用できるのはASCII文字のみであるため、is0-8859-1文字セットを「us-ascii」に変更します。

于 2011-11-09T13:43:36.580 に答える
5

私はそれを理解し、コードを次のように変更しました。

MailMessage emailmsg = new MailMessage("from@address.co.za", "to@address.co.za")
emailmsg.Subject = "Subject";
emailmsg.IsBodyHtml = false;
emailmsg.ReplyToList.Add("from@address.co.za");
emailmsg.BodyEncoding = System.Text.Encoding.UTF8;
emailmsg.HeadersEncoding = System.Text.Encoding.UTF8;
emailmsg.SubjectEncoding = System.Text.Encoding.UTF8;
emailmsg.Body = null;

var plainView = AlternateView.CreateAlternateViewFromString(EmailBody, emailmsg.BodyEncoding, "text/plain");
plainView.TransferEncoding = TransferEncoding.SevenBit;
emailmsg.AlternateViews.Add(plainView);

SmtpClient sSmtp = new SmtpClient();
sSmtp.Send(emailmsg);

すべての文字スペースは、電子メールテンプレートにあるはずのように保持されます。これが誰かにも役立つことを願っています。

于 2011-11-16T14:44:40.547 に答える