(C#)auに、絵文字をHTMLメールにて送信したい。
C#初心者です。
C#でauに、絵文字をHTMLメールにて送信したいのですが、
一部の絵文字は送信できるようになったのですが、
AUのE-MAIL送出用S-JISの絵文字CDの頭2ケタが(EB~EC)の絵文字が、すべて「・」になって、送信されてしまいます。
これらの絵文字も送れるようにしたいのですが、
どなたか絵文字・C#に詳しいかたいらっしゃいましたら、是非教えて下さい。
------------------
using System;
using System.Collections.Generic;
using System.Text;
using System.Net.Mail;
using System.Net.Sockets;
using System.IO;
using System.Net.Mime;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
Send_JIS_Mail();
}
static string Enco(int code) //S-JIS 変換
{
byte[] data = { (byte)(code / 256), (byte)(code % 256) };
return System.Text.Encoding.GetEncoding(932).GetString(data);
}
private static string myEncode(string str, Encoding enc) //base64 変換
{
string base64str = Convert.ToBase64String(enc.GetBytes(str));
return string.Format("=?{0}?B?{1}?=", enc.BodyName, base64str);
}
private static void Send_JIS_Mail()
{
SmtpClient smtp = new SmtpClient();
MailMessage msg = new MailMessage();
Encoding myEnc = Encoding.GetEncoding("iso-2022-jp");
// 送信元
msg.From = new MailAddress(
"XXXXXXXXXXXXXXXX@co.jp", myEncode("送信元", myEnc));
// 送信先
msg.To.Add(new MailAddress(
"XXXXXXXXXXXXXXX@ezweb.ne.jp", myEncode("送信先", myEnc)));
// 件名
msg.Subject = myEncode("件名", myEnc);
msg.IsBodyHtml = true;
// TEXTメール本文
msg.Body = "こんにちわ!!";
// HTMLメール本文
string sBody =
"<html><body bgcolor = \"#ffff00\">" +
"<div>絵文字⇒</div>" + Enco(0xEB59) + Enco(0xEB5A) +
"</body></html>";
AlternateView altView =
AlternateView.CreateAlternateViewFromString(
sBody, myEnc, System.Net.Mime.MediaTypeNames.Text.Html);
// Content-Transfer-Encoding: 7bit
altView.TransferEncoding =
System.Net.Mime.TransferEncoding.SevenBit;
// altViewをメッセージに追加
msg.AlternateViews.Add(altView);
// SMTPサーバ
smtp.Host = "XXXXXXXX.co.jp";
try
{
// 送信
smtp.Send(msg);
}
catch (SmtpException exc)
{
// SMTPサーバー接続失敗時のエラー処理
// メッセージは、excですので、それを表示してもOK。
}
//後始末
msg.Dispose();
}
}
}
補足
そういうことを聞いているのではないです。 なんとか他の部品等を使ってでもできないかということを聞いています。 現にOutlookExpressではデコードができている。