から改行を追加し、私はちょうど盲目のかもしれません(非常に可能!)しかし、私は:(.NETまたはMSSMTPはヘッダ
すべてで私を助けどこにでもここに/ Googleの上の任意の情報を見つけることができませんまずアップ、下記の私は、電子メールメッセージの送信に使用しているコードです:UTF8(ただし結果のメールに私はこれを取得...
MailMessage newMM = new MailMessage();
newMM.To.Add(new MailAddress(userEmail));
newMM.From = new MailAddress(getFrom, getFromName);
newMM.IsBodyHtml = true;
newMM.Subject = userSubject;
newMM.Body = userHTML;
if (chkEncoding.Checked)
{
newMM.BodyEncoding = System.Text.Encoding.UTF8;
newMM.SubjectEncoding = System.Text.Encoding.UTF8;
}
NetworkCredential basicAuthenticationInfo = new NetworkCredential(mUsername, mPassword);
SmtpClient smtp = new SmtpClient(mServer);
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.UseDefaultCredentials = false;
smtp.Credentials = basicAuthenticationInfo;
smtp.Send(newMM);
細かい送り、などを有効にするとUTF8の罰金を行いますかない):
...
MIME-Version: 1.0
From: "The name i want"
<[email protected]>
To: [email protected]
...
これはMSSMTP Queueフォルダのファイルをチェックしているため、電子メールを受信したときに.NETで改行やMSSMTPを追加しているようです。
誰でもこれを前にしていますか?またはアイデアを持っている? :) Decludeがアドレスから一致していないことを言って、私は、ヘッダー経由で見ることができますスパム重量を追加しているので、これは解決することが重要である
理由は次のとおりです。
X-RBL-Warning: FROMNOMATCH: Env sender ([email protected]) From: ("The name i want") mismatch.
...
X-Declude-Tests: ... FROMNOMATCH [2] ...
だから私は、他のスパムを想像フィルタには、それについての囁きもあります。
編集:
参考:すべての電子メールはすべての電子メールクライアントで完璧に見えますが、これは純粋にヘッダレンダリング/スパムプロセッサの問題です。
誰かが少し余裕があれば、.NETを使用してメッセージを送信し、未処理のヘッダー(未編集で電子メールクライアントによって解析されていない)を確認してお知らせできますか?私は今のトラック輸送にしておこう:)
EDIT2:私はソケット、基本的な回答(220年代、250年代、354のetc)を使用して.NETでの基本的なSMTPサーバーを作成し、コードを使用している
がに接続するためにそれを送信して...問題が発生するので、これは間違いなくMS-SMTPではなく、.NET側のコードです。
また、新しい.NET 4.0 Windowsアプリケーションを作成し、ボタンを追加してこのコードを挿入しました(注:System.Net.Mailを使用して追加しました。アプリケーション):
private void button1_Click(object sender, EventArgs e)
{
MailMessage newMM = new MailMessage();
newMM.To.Add(new MailAddress("[email protected]"));
newMM.From = new MailAddress("[email protected]", "Happy As'Larry");
newMM.IsBodyHtml = true;
newMM.Subject = "My Subject";
newMM.Body = "My HTML";
SmtpClient smtp = new SmtpClient("localhost");
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.Send(newMM);
}
それは上記のようにテストSMTP出力アプリケーションへのローカルとしてその正確ので、検証の必要はありません...これはどのような方法で編集されていませんのでご注意ください。
私のSMTPアプリケーションはSystem.Net.SocketsのTcpListenerとSocketオブジェクトを使用し、すべてのリモートデータを単純なテキストボックスに出力するだけで、実際に応答してDATAコマンドに到達できるようにコマンドバッファの文字列を解析します.NETがしかし、送信しているかどうか確認するには:)
出力はここにある:
はEHLO WhiteDragon-PC
MAIL FROM:<[email protected]>
RCPT TO:<[email protected]>
DATA
MIME-Version: 1.0
From: "Happy As'Larry"
<[email protected]>
To: [email protected]
Date: 28 Feb 2011 19:00:19 +1100
Subject: My Subject
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: quoted-printable
My HTML
.
ので、それぞれに非常に基本的なコードと2つの完全に新しいアプリケーション、と私はまだ問題を得ます!
これは.NET 4.0のバグですか?もし誰かがこのコードをチェックしたいのであれば、それも貼り付けます。
私はSmtpClientを使用しています。私の生のメッセージには、「From」の名前と「From」の電子メールアドレスの間に改行がありません。私はあなたの問題について今考えるつもりです。 –
Fromヘッダーはあまり長くありませんか? SMTPは、990文字のようなものの後に改行を自動的に追加します。 –
入れ替えたテキストは実際のデータよりも長くなります:) –