2011-10-25 12 views
1

私は、ユーザがメールを作成する場所と、メールがメールサーバから送信される場所を作成しています。私は電子メールを受け取ることを望んでいません、それらを送信するだけです。私は自分のメールサーバーにアクセスする必要があり、私は)どのような電子メールサーバーがあるか(Exchange、SMTP、POP3 ...)、ユーザーが私に提供する必要のある情報フィールドはDBで必要です)。メールサーバからメールを送信するために必要なユーザ情報

避けるべき落とし穴がある場合は、教えてください。

ご意見ありがとうございます。

答えて

1

SMTPとPOP3はプロトコルであり、電子メールサーバーではありません。

私が正しく理解していれば、あなたは彼/彼女のメールサーバを経由して電子メールを送信する電子メールを構築するのクライアントに基づいて別の電子メールサーバーに接続する必要がある(?)

それがそうなら、あなたはする必要があり、あなたのすべてのクライアントに対して、メールサーバーのIPアドレスと、サポートする認証、暗号化の種類を調べます。確立したら、クライアントから提供された特定の資格情報に基づいて各サーバーに接続し、SMTPサーバー経由で電子メールを送信する必要があります。例:上記の例

// Create a message and set up the recipients. 
MailMessage message = new MailMessage(
    "[email protected]", 
    "[email protected]", 
    "Quarterly data report.", 
    "Hello, test email!."); 


//Send the message. 
SmtpClient client = new SmtpClient(server); 
// Add credentials if the SMTP server requires them. 
      // YOU NEED TO CHANGE THIS PART DEPENDING ON THE SPECIFICS OF THE 
      //SMTP SERVER THAT YOU WILL BE USING 
client.Credentials = CredentialCache.DefaultNetworkCredentials; 

try { 
    client.Send(message); 
} 
catch (Exception ex) { 
    Console.WriteLine("Exception caught in CreateMessageWithAttachment(): {0}", 
     ex.ToString());    
} 

from here.

+0

smtpclientオブジェクトをすべてのユーザーに対して機能させるために必要なものに興味があります。 – frenchie

+0

@frenchieそれはあまりにも広い質問です。メールを送信する前に、すべてのユーザーにユーザー名、パスワード、使用されている暗号化、ポート番号などを提供するよう求めていることに気づいていますか?そうした場合、私が提供したサンプルコードは、あなたを始めるのに十分なはずです。 SmtpClientオブジェクトは、いくつかの認証メカニズムをサポートしています。 MSDNのドキュメントを読んでください。 – Icarus

+0

はい、私はユーザーに「すべて」を求めています。私が思っているのは、「すべて」の分野は何か?私はその情報を保存し、アプリケーションのユーザーが電子メールサーバーから電子メールを送信できるようにする予定です。 – frenchie

0

送信する電子メールは簡単です、あなたが保管して管理する方法これはあなた次第です:

Sending Email in ASP.NET 2.0

web.configファイル:

<system.net> 
    <mailSettings> 
     <smtp> 
     <network 
      host="relayServerHostname" 
      port="portNumber" 
      userName="username" 
      password="password" /> 
     </smtp> 
    </mailSettings> 
    </system.net> 

コード:

MailMessage mail = new MailMessage(from, to, subject, message); 
mail.IsBodyHtml = true; 
SmtpClient client = new SmtpClient(); //used config settings 
client.Send(mail); 
+0

、ほとんど逐語的に撮影された私は、ダイナミックなバージョンが必要:ユーザーは自分のサーバーからメールを送信します。したがって、これらの値はweb.configファイルに存在することはできませんが、実行時にメールサーバーに関するユーザーから提供された情報に基づいて決定する必要があります – frenchie

関連する問題