これは可能ですか?ローカルホスト経由で送信することはできますが、godaddyではメールが送信されません。誰かがこれを達成することができましたか?
私はC#を使用しています
GoDaddyがGmailのSMTPアクセスに必要なSSLポートをブロックしているようです。これは、現時点で運が悪いことを意味します。 GoDaddyのローカルリレーを使用できます。
資格情報なしのrelay-hosting.secureserver.net。
私は、web.configの次の設定を使用してGoDaddy経由でメールを送信することができました。
<configuration>
<system.net>
<mailSettings>
<smtp>
<network
Host="smtpout.secureserver.net"
userName="[email protected]"
password="****" />
<!--
As per @Yoro's comment you might have
luck including the port number as well
-->
</smtp>
</mailSettings>
</system.net>
</configuration>
そしてこのコード:
var SmtpClient = new SmtpClient();
SmtpClient.Send("[email protected]", "[email protected]", "subject", "body");
送信するメールの送信元アドレスはドメインのものである必要があることに注意してください。別のドメインからのメールを送信しようとしたところ、エラーメッセージが表示されました。
GoDaddyにメールアカウントがあることを確認する必要があります。ログインして、[製品]> [メール]> [メールプラン]に移動して確認できます。また、SMTPリレーがオンになっていることを確認する必要もあります。これは、デフォルトではオンになっています。また、デフォルトでは、私のGoDaddyアカウントで1日に250通のメールしか送信できないことを知っておくことが重要です。
GoDaddyでASP.Net MVC 3を使用して簡単な連絡先フォームを作成しています。 Google Appsでホストされているアカウントにメールを送信できるようにしたいと思っていました。この質問は私の状況に一致しましたが、これだけ GoDaddyヘルプ記事 は本当に私の問題を解決しました。それが他の誰かを助けることを願っています!
記事のコードサンプル:
// language -- C#
// import namespace
using System.Web.Mail;
private void SendEmail()
{
const string SERVER = "relay-hosting.secureserver.net";
MailMessage oMail = new System.Web.Mail.MailMessage();
oMail.From = "emailaddress@domainname";
oMail.To = "emailaddress@domainname";
oMail.Subject = "Test email subject";
oMail.BodyFormat = MailFormat.Html; // enumeration
oMail.Priority = MailPriority.High; // enumeration
oMail.Body = "Sent at: " + DateTime.Now;
SmtpMail.SmtpServer = SERVER;
SmtpMail.Send(oMail);
oMail = null; // free up resources
}
これは一般的な問題のようです。
必要なことが2つあります。
これで正しく機能するはずです。
まだ答えを探している人はこれを試してください
smtp.Host = "relay-hosting.secure.net";
smtp.EnableSsl = false;
smtp.UseDefaultCredentials = false;
smtp.Port = 25;
最後にこれを試したとき(多分2011年初頭)、GoDaddyのGmailアカウントからプログラムで送信できませんでした。別のホスティング会社のサーバーで機能するコードとまったく同じコードを使用しましたが、GoDaddyのサーバーで失敗したため、コードが問題ではなかったと確信しています。
私は彼らのテクニカルサポートに電話して、矛盾する情報を得ましたが、Gmail経由で送信するのはGoDaddyのサーバーでサポートされている確かなサービスではないと確信するのに十分なほど聞いていました。
また、私が取り組んでいるプロジェクトでは使用できないWebメールフォームを使用する回避策のオプションも与えられ、GoDaddyが彼らの話を完全には理解していないという概念を強調しました。
最終的に、GoDaddyのSMTPサーバーを使用して、自分の「送信元」アドレスをプラグインするだけで、任意の電子メールアドレスにメールを送信したり、発信元の電子メールアドレスを偽装したりできることがわかりました。つまり、正当な電子メール機能をロックダウンしてしまい、代わりに非常に悪用可能なシステムを使用せざるを得なくなります。
繰り返しますが、この問題に遭遇したのは少し前のことですが、SMTPサーバーを使用してメールを送信できるかどうかを確認するのは簡単です。
Godaddyでリレーホスティングを使用する場合、FROMメールアドレスのメールオブジェクトはGodaddyの「ホワイトリスト」メールである必要があります。
スパマーがアカウントをハイジャックするのを防ぐためにこれを行います
Relay-Hostを使用するための代替手段があります
GoDaddyフォームメーラーの使用(Google Serach: "_gdForm/webformmailer.asp")
この代替手段を使用して、事前に指定された「フォームメーラー」の電子メールアカウントにすべてのWebフォームを送信できます。ただし、GoDaddyでのhosting.content.form-mailerの設定が必要です。
フォームメーラーの使用方法を確認してください。
(唯一の問題は、フォームデータがこのアクセス不能なASPファイルに送信されるため、サブスクライブ/サブスクライブ解除XMLデータベースをコーディングする機能を奪うことです)なので、使用に戻ってしまう可能性がありますASP.NETでのホスティングの中継
www.earthed.net.au\News.aspx www.earthed.net.au\Contact.aspx www.earthed.net.au\Support.aspx
私の最終的な目標は、joe @ blogs.comから私の受信トレイに必要なフォームフィールドデータが含まれるようにすることでしたが、ホストプロバイダーのセキュリティ設定によって、最終的にこれを実行できるかどうかが決まります。
Googleおよびhotmail smtpホスト(それぞれにアカウントがあるため)と同じセキュリティ制限ストーリーを使用してみました。フルリレーホスティングを許可するセキュリティ設定が低い、あまり知られていない無料のWebメールプロバイダー(もしあれば、知らせてください)
私はあなたの最良の選択肢は別のホストを見つけることだと思います。 godaddyでサイトをコーディングしているときに、mapi機能を無効にしていないかどうかgodaddyに尋ねたのを覚えています。特定の送信ポートをフィルタリングすると聞きました。
このコードは機能します
// Create the msg object to be sent
MailMessage msg = new MailMessage();
// Add your email address to the recipients
msg.To.Add("[email protected]");
// Configure the address we are sending the mail from
MailAddress address = new MailAddress("[email protected]");
msg.From = address;
msg.Subject = txtSubject.Text;
msg.Body = txtName.Text + "n" + txtEmail.Text + "n" + txtMessage.Text;
SmtpClient client = new SmtpClient();
client.Host = "relay-hosting.secureserver.net";
client.Port = 25;
// Send the msg
client.Send(msg);
ここでほとんど忘れられているのはグーグルの詳細な説明です。上記のツールは自動的に変更されます8-)
http://www.google.com/support/a/bin/answer.py?hl=ja&answer=3335
私は同様のことを試みていますが、メールをリセットしてメールを登録しましたが、$header
から[email protected]
はウェブサイトのアドレスと一致します。 SMTP
は必要ありませんでした。メールを受信するまでに時間がかかります...まだ作業中です。
$subject = "Please reset your password";
$message = " Here is your password reset code {$validation_code}
Click here to reset your password http://www.zzz.com/Login_App/code.php?email=$email&code=$validation_code
";
$headers = "From: [email protected]";
質問で説明しているのと同じ問題が発生した後、私は最終的に解決策を見つけました。
Web.configファイルを確認し、Webサイトを公開するときは常に、debugプロパティがfalseに設定されていることを確認してください。これが機能するかどうか教えてください。それは私のためにした。
<configuration>
<system.web>
<compilation debug="false" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
<customErrors mode="Off"/>
</system.web>
</configuration>