4

簡単なメール送信アプリケーションを作成しています。私のアプリケーションでは、メールを送信するときはいつでも、メールアドレスまたはパスワードをfromとして入力する必要がありますが、パスワードを使用したくないので、メールのみを入力したい

それで

c#/。netアプリケーションを使用してパスワードを使用せずに電子メールを送信できますか?

これは私のコードです:

   try
    {
        // setup mail message
        MailMessage message = new MailMessage();
        message.From = new MailAddress(textBox1.Text);
        message.To.Add(new MailAddress(textBox2.Text));
        message.Subject = textBox3.Text;
        message.Body = richTextBox1.Text;

        // setup mail client
        SmtpClient mailClient = new SmtpClient("smtp.gmail.com");
        mailClient.Credentials = new NetworkCredential(textBox1.Text,"password");

        // send message
        mailClient.Send(message);

        MessageBox.Show("Sent");
    }
    catch(Exception)
    {
        MessageBox.Show("Error");
    }
4

2 に答える 2

2

一般的に、あなたは確かにそうすることができます。具体的なサンプルコードでは、匿名送信を許可しないGMailを使用しています。

彼らの参考文献から:

smtp.gmail.com(認証
を使用)認証を使用:はい
TLS / STARTTLSのポート:587
SSLのポート:465

catchあなたの条項に関する追加のコメント:

私の意見では、あなたは例外の考えをひどく誤用しています。より良いアプローチは次のようなものです:

catch(Exception x)
{
    var s = x.Message;
    if ( x.InnerException!=null )
    {
        s += Environment.NewLine + x.InnerException.Message;
    }

    MessageBox.Show(s);
}
于 2012-09-19T08:06:06.407 に答える
2

c#/。netアプリケーションを使用してパスワードを使用せずに電子メールを送信できますか?

はい、認証を必要としない電子メールゲートウェイにアクセスできる場合は、次のようにするだけです。

SmtpClient mailClient = new SmtpClient("your.emailgateway.com");
mailClient.Send(message);

たぶんあなたの会社やISPがあなたにそれを提供することができますか?

于 2012-09-19T08:25:28.990 に答える