As for Compact Framework SMTP クライアントはサポートされていません。私は自分の SMTP クライアントを c# で書いています (コンパクトなフレームワークで使用するため)。
SMTP プロトコルを使用して 1 つの画像ファイルを送信しています。しかし、yahoo で開くと破損し、gmail では正常に動作します。
message = "--sdfsafsafsassfsfsfd" + Constant.CRLF
+ "Content-Type: application/image;" + Constant.CRLF
+ "Content-Transfer-Encoding: base64;" + Constant.CRLF
+ "Content-Disposition: attachment;"
+ " filename=abc.jpg;" + Constant.CRLF + Constant.CRLF;
以下は、ファイル データの base64 文字列を取得するために使用されるコードです。
public void SendFile(string fileName)//image/doc file
{
string base64;
using (var fs = new FileStream(fileName, FileMode.Open, FileAccess.Read))
{
var buffer = new byte[fs.Length];
fs.Read(buffer, 0, (int)fs.Length);
base64 = Convert.ToBase64String(buffer);
}
Write(base64);
}
public void Write(string message)
{
System.Text.ASCIIEncoding en = new System.Text.ASCIIEncoding();
byte[] WriteBuffer = new byte[1024 * 5];
WriteBuffer = en.GetBytes(message);
NetworkStream stream = GetStream();
stream.Write(WriteBuffer, 0, WriteBuffer.Length);
}
何かが欠けているかどうかわかりません。これで私を助けてください。