1

Web アプリケーションでメールを送信したい。ラックスペース専用サーバーで公開されていますが、私は GoDaddy の SMTP サーバーを使用してメールを送信しています。

私が得ている障害は次のとおりです。

System.Net.Mail.SmtpFailedRecipientException: メールボックス名は許可されていません。サーバーの応答は次のとおりです。申し訳ありませんが、あなたの場所からの中継は拒否されました [xx.xx.xxx.xx] (#5.7.1)

これは私のコードです

SmtpClient client = new SmtpClient("relay-hosting.secureserver.net", 25); 
string to ="rpanchal@itaxsmart.com"; 
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.Credentials = new System.Net.NetworkCredential("EmailId@domain.com","**");

MailAddress fromAddress = new MailAddress("myEmailId@domain.com", "CompanyName"); 
MailMessage message = new MailMessage(); 
message.From = fromAddress; 
message.To.Add(to); 
message.Body = "This is Test message";
message.Subject = "hi";

client.Send(message); message.Dispose(); return "Email Send";

専用サーバーで設定を行う必要がありますか?

4

4 に答える 4

2

ローカルでテストしていますか?はいの場合、SMTP サーバーがリレーを許可していない可能性があります。アプリケーションをいつデプロイするかについて心配する必要はありません。問題はありません。

于 2012-07-09T06:06:34.987 に答える
0

RackSpace でホスティングしている場合は、サーバーからの送信に RackSpace が推奨する SMTP を使用する必要があります。残念ながら、go Daddy Shared または 4GH ホスティングから送信する場合は、relay-hosting.secureserver.net しか使用できません。

于 2012-07-10T15:45:24.557 に答える
0

それはとても簡単です:

smtp ホスト、ポート、ssl に集中する必要があります... smtp ホストを次のように変更します: relay-hosting.secureserver.net そしてDELETE portssl、それだけです... smtp ポートと smtp ssl を使用しないでください true または false

    var fromAddress = "mailfrom@yourdomain";
    // any address where the email will be sending
    var toAddress = "mailto@yourdomain";
    //Password of your mail address
    const string fromPassword = "******";
    // Passing the values and make a email formate to display
    string subject = TextBox1.Text.ToString();
    string body = "From: " + TextBox2.Text + "\n";
    body += "Email: " + TextBox3.Text + "\n";
    body += "Subject: " + TextBox4.Text + "\n";
    body += "Message: \n" + TextBox5.Text + "\n";
    // smtp settings
    var smtp = new System.Net.Mail.SmtpClient();
    {
        smtp.Host = "relay-hosting.secureserver.net";
**//Warning Delete =>//smtp.Port = 80;**
**//Warning Delete =>//smtp.EnableSsl = false;**
        smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
        smtp.Credentials = new NetworkCredential(fromAddress, fromPassword);
        smtp.Timeout = 20000;
    }
    // Passing values to smtp object
    smtp.Send(fromAddress, toAddress, subject, body);
于 2016-08-20T20:25:58.480 に答える
0

ポートを 25 ではなく 465 に変更してみてください。

または、Relay ホスティングは 1 日あたり 250 通の電子メールに非常に制限されており、リモート接続を簡単に受け入れられないことを思い出してください。SSL接続が利用できるか確認してください。

于 2013-05-28T19:52:42.880 に答える