2009-03-03 33 views
3

これはメール送信コードです。 「メールヘッダーに無効な文字があります」というエラーが表示されていました。私は自分のコンピュータ名を最短の名前に変更しました。問題は解決した。しかし、私のドメインでは、 "04500-ab04545.xxxdomain.gov.tr"のようなコンピュータ名全体がありますので、この問題の解決策を見つける必要があります。System.Net.Mailでメールを送信する際の問題C#

私はC#コードからメールを送信中に静的なコンピュータ名を付けられません。

MailMessage msg = new MailMessage(); 
msg.Body = "axxxxxx"; 
msg.To.Add(new MailAddress("[email protected]")); 
msg.From = new MailAddress("[email protected]","blab blalb"); 
msg.Subject = "Subject xxx"; 
SmtpClient server = new SmtpClient("xxxxxxxx",25); 
server.Credentials = new NetworkCredential("xxxxx", "xxxxxxx"); 
SmtpClient server = new SmtpClient("mail.adalet.gov.tr",25); 
server.Credentials = new NetworkCredential("xxx", "xxx"); 
server.Send(msg); 

答えて

4

私は、これはエンコーディング関連の問題かもしれないと思います。

new MailAddress("[email protected]","blab blalb", Encoding.Default)コンストラクタを使用してください。

その他try Encoding.Unicode

更新:あなたは電子メールアドレスでの\ XFF上記の任意の文字を持っている場合に発生します

void System.Net.BufferBuilder.Append(string,int,int); 

:いくつかの掘削後

、この例外がスローされますから。名前は既にコード化されていなければならないが、他の何かが面白いだろうと思う。

+0

ありがとうの男をホープ;) –

+0

もMicrosoftが時々トルコのテストに失敗したようです:) – leppie

+0

"\ xffについての任意の文字"はどういう意味ですか? – Eyalk

0

送信しようとしているメッセージのヘッダーは何ですか。

あなたは簡単にこのMSDNスニペットをダンプすることができます。

string[] keys = message.Headers.AllKeys; 
     Console.WriteLine("Headers"); 
     foreach (string s in keys) 
     { 
      Console.WriteLine("{0}:", s); 
      Console.WriteLine(" {0}", message.Headers[s]); 
0

これを「ネットワーク」に変更するとエラーが発生し、エラーが解決されました。 (私の理解ではある - 指定されたpickupdirectoryオプションの包み、UTF-8(BASE64)を-encodingヘッダがエラーを与えていた)

はそれがウルクール

関連する問題