3

以下に示すような Google 用のメーラーがありますが、これを他のメール システムに適用するにはどうすればよいですか? これを行うより良い方法はありますか?また、メールの送信元(送信者)の名前を変更するにはどうすればよいですか。どうぞよろしくお願いいたします。

 MailMessage message = new MailMessage();
        message.From = new MailAddress(MailAddresds);
        message.Subject = messagesubject;
        message.Body = messagebody;


        message.To.Add(messageto);
        SmtpClient client = new SmtpClient();

        client.Credentials = new NetworkCredential(userName, password);
        client.Host = "smtp.gmail.com";
        client.Port = 587;
        client.EnableSsl = true;
        client.Send(message);
4

2 に答える 2

1

簡単な例:

using System.Web.Mail;

MailMessage objMessage = new MailMessage();
objMessage.From = "from";
objMessage.To = "to";
objMessage.Subject = "subject";
objMessage.BodyFormat = MailFormat.Text;
objMessage.Body = "body";
SmtpMail.SmtpServer = "SmtpServer";
SmtpMail.Send(objMessage);
于 2012-05-22T13:13:15.383 に答える
1

例:

public class MailMessage
{
   public string From{get;set;}
   public string To{get;set;}
   public string Body{get;set;}
   public string Subject{get;set;}
   ....
   //other common properties you may need
}


//interface 
public interface IMailService
{
    Send(MailMessage m);
}

具体的な実装:

public class GoogleMail : IMailService
{
    public Send(Message msg)
    { 
       //google mail specific code
    }
}


public class YahooMail : IMailService
{
    public Send(Message msg)
    { 
       //yahoo mail specific code
    }
}

.... Hotmail,...

コードのどこかに、サポートされているメール サービスのコレクションを作成します。

var mailservices = new List<IMailService>();
mailservices.Add(new GoogleMail ());
mailservice.Add(new YahooMail ());

その後、プログラムの実行中に、適切なサービスを選択してユーザーの要求を続行します。

于 2012-05-22T12:42:13.277 に答える