Я обдумывал это в течение нескольких дней, и я не могу точно определить, почему мой код не аутентифицируется с сервером smtp gmail. То, что я сделал так, чтобы сделать:SMTP защищенное подключение и аутентификация
- настроить Gmail, чтобы принять менее безопасные приложения
- 2 способа проверки выключена использования
- Captcha ВЫКЛЮЧЕН
- Iis 6 Smtp
- сайта закодированного правильно используя asp.net C#
- порт 587 исходящих и входящих набор, чтобы все
вот с ода
.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Net.Mail;
using System.Net;
public partial class Contact : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Btn_Submit_Click(object sender, EventArgs e)
{
MailMessage mailMessage;
SmtpClient smtpClient;
try
{
mailMessage = new MailMessage();
mailMessage.To.Add("[email protected]");
mailMessage.From = new MailAddress("[email protected]");
mailMessage.Subject = "ASP.NET e-mail test";
mailMessage.Body = "Hello world,\n\nThis is an ASP.NET test e-mail!";
smtpClient = new SmtpClient("smtp.gmail.com");
smtpClient.Port = 587;
NetworkCredential nc = new NetworkCredential("[email protected]", "Meowqwe789doG");
smtpClient.Credentials = nc;
smtpClient.EnableSsl = true;
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpClient.UseDefaultCredentials = false;
smtpClient.Send(mailMessage);
//Response.Write("E-mail sent!");
}
catch (Exception ex)
{
//Response.Write("Could not send the e-mail - error: " + ex.Message);
}
}
}
HTML
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage/MasterPage.master" AutoEventWireup="true" CodeFile="Contact.aspx.cs" Inherits="Contact" %>
<asp:Content ID="Content1" ContentPlaceHolderID="title" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="contentbody" Runat="Server">
<div class="contact">
<div class="contact-heading text-center">
<div class="container">
<div class="row">
<div class="col-md-6">
<h1>Contact Us</h1>
<div class="headingpng">
<img src="img/heading.png" />
</div>
</div>
</div>
</div>
</div>
</div>
<div id="contact-form" class="clearfix">
<h4 class="text-center">
Please fill in the contact form below with any questions you may have.
</h4>
<ul id="errors" class="">
<li id="info">
There were some problems with your form submission:
</li>
</ul>
<p id="success">
Thanks for your message! We will get back to you ASAP!
</p>
<div>
<label for="name">Name: <span class="required">*</span></label>
<input type="text" id="name" name="name" value="" placeholder="John Doe" required="required" autofocus="autofocus" />
<asp:TextBox runat="server" ID="Tb_Name" ></asp:TextBox>
<label for="email">Email Address: <span class="required">*</span></label>
<input type="email" id="email" name="email" value="" placeholder="[email protected]" required="required" />
<label for="telephone">Telephone: </label>
<input type="tel" id="telephone" name="telephone" value="" />
<label for="enquiry">Enquiry: </label>
<select id="enquiry" name="enquiry">
<option value="general">General</option>
<option value="sales">Sales</option>
<option value="support">Support</option>
</select>
<label for="message">Message: <span class="required">*</span></label>
<textarea id="message" name="message" placeholder="Your message must be greater than 20 charcters" required="required" data-minlength="20"></textarea>
<span id="loading"></span>
<%--<input type="submit" value="Submit" id="submit-button" />--%>
<asp:Button runat="server" ID="Btn_Submit" Text="Submit" OnClick="Btn_Submit_Click" />
<p id="req-field-desc"><span class="required">*</span> indicates a required field</p>
</div>
</div>
</asp:Content>
Как я уже говорил, я искал во всем для исправления, что я придумал в конце концов, что я делая html и C# правильно, все, похоже, работает с линией кода catch (Exception ex), которая затем отправляет мне это
[System.Net.Mail.SmtpException] = {«Для SMTP-сервера требуется безопасное соединение n или клиент не был аутентифицирован. Ответ сервера: 5.5.1 Требуется аутентификация. Узнайте больше на "}
Если у кого есть какие-либо предложения, которые были бы большими
Теперь измените свой gmail passowrd, так как вы позволили миру узнать, как попасть в ваш адрес электронной почты. Если вы отправляете такой код, убедитесь, что вы замаскируете пароль. Сделайте это сейчас, прежде чем пытаться исправить проблему. –
BTW, ваши 'SmtpClient' и' MailMessage' должны быть в 'использовании' блоков. –
Да, это была ошибка новобранец ха-ха, о человек, facepalm идет сюда. Во всяком случае, это фиктивный адрес, поэтому, если кто-то попал туда, ничего не видно. С другой стороны, мне нужно знать, где разместить решение этой проблемы. Мне не удалось заставить его работать, и я хотел бы оставить что-то для всех, кто входит в эту проблему, используя Windows 7. Я нашел что-то, что отлично работает для тех, кто не может отправлять SMTP-запросы в gmail или, где бы то ни было, несмотря на код хорошо. ура – Crebrum