0

SmtpMail を使用してメールを送信しようとしています。私のローカルサーバーでは、コードにホスト/サーバー、パスワード、および情報セットがコードに含まれていても、これを行うことができます。私のホスティング サービス (1and1) では、web.config ファイルでこれらを設定した場合にのみ送信されます。これを引き起こす原因を知っている人はいますか (1and1 にはわかりません)。

ローカルで動作しますが、ホスティング サービスでは動作しません

<%@ Page language="c#" %>
<%@ Import namespace="System.Net.Mail" %>
<%

    MailMessage mail = new MailMessage();

    //Set my from address
    mail.From = new MailAddress( "myemail@myemail.com");

    //Who I'm sending to
    mail.To.Add( new MailAddress("you@you.com") );

    mail.Subject = "A test";
    mail.Body = "Test message";

    //Set the mail server (default should be smtp.1and1.com)
    SmtpClient smtp = new SmtpClient( "smtp.1and1.com" );

    //Enter your full e-mail address and password
    smtp.Credentials = new NetworkCredential("myemail@myemail.com", "mypassword");

    //Send the message
    smtp.Send(mail);

%>

これは、ホスティングで動作させる方法です (テスト ページと web.config の 2 つのファイル)。

<%@ Page language="c#" %>
<%@ Import namespace="System.Net.Mail" %>
<%

    MailMessage mail = new MailMessage();

    //Set my from address
    mail.From = new MailAddress( "myemail@myemail.com");

    //Who I'm sending to
    mail.To.Add( new MailAddress("you@you.com") );

    mail.Subject = "A test";
    mail.Body = "Test message";

    //Create with no server or credentials (grabs from web.config)
    SmtpClient smtp = new SmtpClient();

    //Send the message
    smtp.Send(mail);

%>

(および web.config)

    <configuration>
    <system.net>
        <mailSettings>
            <smtp from="myemail@myemail.com">
                <network host="smtp.1and1.com" port="25" userName="myemail@myemail.com" password="mypassword"/>
            </smtp>
        </mailSettings>
    </system.net>
</configuration>
4

1 に答える 1

1

ローカル コードで作業しているときに SMTP ポートを設定していないが、web.config で設定しているようです。次のように SMTP ポートを手動で追加しようとしましたか:

smtp.Port = 25;

また、EnableSsL プロパティを手動で設定しようとしましたか?

于 2013-02-04T18:43:40.887 に答える