Проблемы с контактной формой ASP.NET - PullRequest
0 голосов
/ 07 марта 2012

Я настраиваю эту форму для малого бизнеса, поэтому вся электронная почта отправляется непосредственно на их почтовый сервер. Я ввел правильную информацию, и почта успешно отправляется с веб-сайта, но она никогда не достигнет их почтового сервера. Их почтовый сервер выдает ошибки в контактной форме, говоря, что 5.7.1 Сообщение отклонено как спам фильтрованием содержимого. Если он не обнаружит спам, он отправит его, но сервер его не получит.

Что-то не так с кодом или почтовый сервер его отклоняет?

C # используя Систему; используя System.Net.Mail;

public partial class _Emailer : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (IsPostBack)
        {
            try
            {
                string output = "";

                MailMessage mail = new MailMessage();

                // Replace with your own host address
                string hostAddress = "xxx.xxx.xxx.xxx";

                // Replaces newlines with br
                string message = Request.Form["c_Message"].ToString();
                message = message.Replace(Environment.NewLine, "<br />");

                output = "<p>Name: " + Request.Form["c_Name"].ToString() + ".</p>";
                output += "<p>E-mail: " + Request.Form["c_Email"].ToString() + ".</p>";
                output += "<p>Phone: " + Request.Form["c_Phone"].ToString() + ".</p>";
                output += "<p>Message: " + message + ".</p>";

                mail.From = new MailAddress("xxxxxxx@xxxxxx.org");
                mail.To.Add("xxxxxxx@xxxxxxx.org");
                mail.Subject = "New e-mail.";
                mail.Body = output;

                mail.IsBodyHtml = true;
                SmtpClient smtp = new SmtpClient(hostAddress);
                smtp.EnableSsl = false;
                smtp.Send(mail);

                lblOutcome.Text = "E-mail sent successfully.";
            }

            catch (Exception err)
            {
                lblOutcome.Text = "There was an exception whilst sending the e-mail: " + err.ToString() + ".";
            }
        }  
    }
}

HTML

<asp:label id="lblOutcome" runat="server" />
        <form name="contact" method="post" id="cf">
            <div id="contactform">
                <p><img src="images/required_star.png" alt="Star" /> Required fields for contact form completion</p>
                <ol>
                    <li>
                        <label for="c_Name" class="required-star">Name:</label>
                        <input type="text" id="Text1" name="c_Name" placeholder="John Doe" class="required text" minlength="2" value="<% Response.Write(Request.Form["c_Name"]); %>" />
                    </li>
                    <li>
                        <label for="c_Email" class="required-star">Email:</label>
                        <input type="text" id="Text2" name="c_Email" class="required email text" placeholder="example@domain.com" value="<% Response.Write(Request.Form["c_Email"]); %>" />
                    </li>
                    <li>
                        <label for="c_Phone">Phone:</label>
                        <input type="text" id="Text3" name="c_Phone" class="phoneUS text" placeholder="ex. (555) 555-5555" value="<% Response.Write(Request.Form["c_Company"]); %>" />
                    </li>
                    <li>
                        <label for="c_Message" class="required-star">Message:</label>
                        <textarea id="Textarea1" name="c_Message" rows="6" cols="50" class="required" placeholder="..." minlength="2"><% Response.Write(Request.Form["c_Message"]); %></textarea>
                    </li>
                    <li class="buttons">
                        <input title="Submit" class="buttonBlue" value="Submit" type="submit" />
                        <input title="Clear the form" class="buttonBlue" value="Clear" type="reset" />
                    </li>
                </ol>
            </div>
        </form>

Ответы [ 2 ]

0 голосов
/ 07 марта 2012

Это может рассматриваться как спам по многим причинам.Одним из них является то, что адрес с не совпадает с адресом электронной почты хоста.Например, вы отправляете электронную почту с pop3.yourhost.com и с , поле равно my@name.com

В любом случае, похоже, что оно не имеет ничего общего с ASP.NET

0 голосов
/ 07 марта 2012

Похоже, что все это связано с тем, что почтовый сервер фильтрует письма.Возможно, свяжитесь с хостом электронной почты и объясните свою проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...