PDA

View Full Version : مشکل ارسال ایمیل در ASP.net



kourosh_asp
دوشنبه 10 اسفند 1394, 15:56 عصر
سلام دوستان من می خوام از یک فرم ساده، ایمیلی رو برای خودم ارسال کنم اما بعد از اجرا شدن کد اتفاقی نمیفته/// میشه لطفا راهنمایی کنید....

web.config


<configuration>
<system.net>
<mailSettings>
<smtp deliveryMethod="Network" from="kourosh.azarian@gmail.com">
<network defaultCredentials="false" port="25" userName="kourosh.azarian@gmail.com" password="" />
</smtp>
</mailSettings>
</system.net>
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>


</configuration>




C#‎‎‎



using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;


public partial class Contact : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
litPageMessage.Visible = false;


}
protected void btnSubmit_Click(object sender, EventArgs e)
{
try
{
string strBody = string.Empty;
strBody += string.Format("<b>Full Name</b>: {0}<br />", txtFullName.Text);
strBody += string.Format("<b>E-mail</b>: {0}<br />", txtEmailTo.Text);
strBody += string.Format("<b>Subject</b>: {0}<br />", txtSubject.Text);
strBody += string.Format("<b>Description</b>: {0}<br />", txtDescription.Text.Replace("\n", "<br />)"));


System.Net.Mail.MailMessage oMailMessage = new System.Net.Mail.MailMessage();
System.Net.Mail.MailAddress oMailAddress = null;
oMailAddress = new System.Net.Mail.MailAddress("kourosh.azarian@gmail.com", "کورش", System.Text.Encoding.UTF8);


oMailMessage.From = oMailAddress;
oMailMessage.Sender = oMailAddress;

oMailMessage.To.Clear();
oMailMessage.CC.Clear();
oMailMessage.Bcc.Clear();
oMailMessage.ReplyToList.Clear();
oMailMessage.Attachments.Clear();


//oMailMessage.Bcc.Add("kourosh1370plus2@yandex.com");
//oMailMessage.ReplyToList.Add(oMailAddress);
oMailAddress = new System.Net.Mail.MailAddress(txtEmailTo.Text, txtFullName.Text, System.Text.Encoding.UTF8);
oMailMessage.To.Add(oMailAddress);
oMailMessage.BodyEncoding = System.Text.Encoding.UTF8;
oMailMessage.Body = strBody;


oMailMessage.SubjectEncoding = System.Text.Encoding.UTF8;
oMailMessage.Subject = " [|]Test[|] " + txtSubject.Text;


oMailMessage.IsBodyHtml = true;
oMailMessage.Priority = System.Net.Mail.MailPriority.Normal;
oMailMessage.DeliveryNotificationOptions = System.Net.Mail.DeliveryNotificationOptions.Never;
string strRootRelativePathName = "~/Attachment/1.jpg";
string strPathName = Server.MapPath(strRootRelativePathName);
if (System.IO.File.Exists(strRootRelativePathName))
{
System.Net.Mail.Attachment oAttachment = new System.Net.Mail.Attachment(strPathName);
oMailMessage.Attachments.Add(oAttachment);
}
System.Net.Mail.SmtpClient oSmtpClient = new System.Net.Mail.SmtpClient();

oSmtpClient.Timeout = 1000000;
oSmtpClient.EnableSsl = true;
oSmtpClient.Send(oMailMessage);
litPageMessage.Text = "ایمیل شما با موفقیت ارسال شد.";
litPageMessage.Visible = true;


}
catch (Exception ex)
{
DisplayErroMessage(ex.Message);
}
}

protected virtual void DisplayErroMessage(string message)
{


string.Format("<hr /> ERROR: <br /> {0} <br /> <hr />", message);
litPageMessage.Visible = true;
}
}





Form




<%@ Page Language="C#‎‎‎" AutoEventWireup="true" CodeFile="Contact.aspx.cs" Inherits="Contact" %>


<!DOCTYPE html>


<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div dir="rtl">
<fieldset>
<legend style="text-align: center">ارسال ایمیل</legend>


<table style=" width=100%; " dir="rtl" >
<tr dir="rtl">
<td style="text-align: right">
<asp:Literal ID="litPageMessage" runat="server" ></asp:Literal>
</td>
</tr>
<tr >
<td style="text-align:right">
<asp:Literal ID="litFullName" runat="server" Text="نام کامل"></asp:Literal>
</td>
<td style="text-align:right">
<asp:TextBox ID="txtFullName" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td style="text-align:right">
<asp:Literal ID="litEmailTo" runat="server" Text="ایمیل"></asp:Literal>
</td>
<td style="text-align:right">
<asp:TextBox ID="txtEmailTo" runat="server" TextMode="Email"></asp:TextBox>
</td>
</tr>
<tr>
<td style="text-align:right">
<asp:Literal ID="litSubject" runat="server" Text="عنوان"></asp:Literal>
</td>
<td style="text-align:right">
<asp:TextBox ID="txtSubject" runat="server"></asp:TextBox>
</td>
</tr>


<tr>
<td style="text-align:right; vertical-align:top">
<asp:Literal ID="litDescription" runat="server" Text="توضیحات"></asp:Literal>
</td>
<br />
<td style="text-align:right">
<asp:TextBox ID="txtDescription" runat="server" TextMode="MultiLine" Columns="50" Rows="10"></asp:TextBox>
</td>
</tr>
<tr>
<td style="text-align:right">
<asp:Button ID="btnSubmit" runat="server" Text="ارسال" OnClick="btnSubmit_Click" />
</td>
</tr>
</table>
</fieldset>

</div>
</form>
</body>
</html>

pbm_soy
دوشنبه 10 اسفند 1394, 17:48 عصر
اول از همه شماره پورت جیمیل در حالت enablessl عدد ۵۸۷ است اگر اشتباه نکنم سرچ کنید و مطمین بشید

مورد بعدی در زمان فراخوانی متد send از کلاس smtpclient خطایی پیش نیاید یعنی اینکه بطور کامل ایمیل را ارسال کرده است!
شما هم میگوید هیچ اتفاقی نمیافتد پس احتمالا ایمیل را فرستاده است شاید هم در اسپم گیرنده قرار گرفته باشد!
در ضمن سیستمی که این کد بروی آن اجرا میشود نباید خطایی از لحاظ اجرای ssl و احراز هویت کاربر از دید جیمیل نباید وجود داشته باشد

kourosh_asp
دوشنبه 10 اسفند 1394, 18:50 عصر
اول از همه شماره پورت جیمیل در حالت enablessl عدد ۵۸۷ است اگر اشتباه نکنم سرچ کنید و مطمین بشید

مورد بعدی در زمان فراخوانی متد send از کلاس smtpclient خطایی پیش نیاید یعنی اینکه بطور کامل ایمیل را ارسال کرده است!
شما هم میگوید هیچ اتفاقی نمیافتد پس احتمالا ایمیل را فرستاده است شاید هم در اسپم گیرنده قرار گرفته باشد!
در ضمن سیستمی که این کد بروی آن اجرا میشود نباید خطایی از لحاظ اجرای ssl و احراز هویت کاربر از دید جیمیل نباید وجود داشته باشد

ممنون از پاسختون...
من پورت های 465 و 587 رو هم امتحان کردم اما جواب نداد. اسپم جیمیل هم چیزی دریافت نکرده بود.... به نظرتون مشکل از جیمیله؟:ناراحت: