PDA

View Full Version : سوال: ارسال ایمیل از asp.net



mirahsani
یک شنبه 28 آذر 1389, 18:51 عصر
سلام
من این کد رو از کامپیوتر خودم(localhost) اجرا میکنم ولی error میده.
نمیدونم داخلmsg.From=" "; چی باید بذارم.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Mail;
publicpartialclassDefault2 : System.Web.UI.Page
{
protectedvoid Page_Load(object sender, EventArgs e)
{
MailMessage msg = newMailMessage();
msg.From = "localhost@yahoo.com";
msg.To="ehsan.mirahsani@gmail.com";
msg.BodyFormat = MailFormat.Text;
msg.Priority = MailPriority.High;
msg.Subject = "salam subject";
msg.Body = "salam body";
SmtpMail.Send(msg);
}
}

tazarvmmr
یک شنبه 28 آذر 1389, 19:06 عصر
ببین این کد به دردت میخوره:




string FromEmail;
string ToEmail;
string Subject;
string Body;
string SMTP;
string UserName;
string Password;
bool NeedSSL;
int SmtpPort;

string Result = "";
try
{
MailMessage message = new MailMessage();

message.IsBodyHtml = true;

message.Subject = Subject;

message.Body = Body;

message.BodyEncoding = Encoding.GetEncoding("Windows-1256");

message.From = new MailAddress(FromEmail);

message.To.Add(new MailAddress(ToEmail));

SmtpClient Smtp = new SmtpClient();

Smtp.Host = SMTP; // for example gmail smtp server

Smtp.EnableSsl = NeedSSL;

Smtp.Port = SmtpPort;

Smtp.Credentials = new System.Net.NetworkCredential(UserName, Password);

Smtp.Send(message);
}
catch (Exception ex)
{
Result = ex.ToString();
}
return Result;
}



متغیرهایی که بالا تعریف شده باید مقدار دهی کنی، اسامی طوری انتخاب شده که متوجه بشی هرکدوم چیه

mirahsani
یک شنبه 28 آذر 1389, 19:56 عصر
ببین این کد به دردت میخوره:




string FromEmail;
string ToEmail;
string Subject;
string Body;
string SMTP;
string UserName;
string Password;
bool NeedSSL;
int SmtpPort;

string Result = "";
try
{
MailMessage message = new MailMessage();

message.IsBodyHtml = true;

message.Subject = Subject;

message.Body = Body;

message.BodyEncoding = Encoding.GetEncoding("Windows-1256");

message.From = new MailAddress(FromEmail);

message.To.Add(new MailAddress(ToEmail));

SmtpClient Smtp = new SmtpClient();

Smtp.Host = SMTP; // for example gmail smtp server

Smtp.EnableSsl = NeedSSL;

Smtp.Port = SmtpPort;

Smtp.Credentials = new System.Net.NetworkCredential(UserName, Password);

Smtp.Send(message);
}
catch (Exception ex)
{
Result = ex.ToString();
}
return Result;
}



متغیرهایی که بالا تعریف شده باید مقدار دهی کنی، اسامی طوری انتخاب شده که متوجه بشی هرکدوم چیه
مشکل من این خطه:

message.From = new MailAddress(FromEmail);

من که تو localhost خودم email ندارم. از چه ایمیلی send کنم؟؟؟

omidghadiri
یک شنبه 28 آذر 1389, 22:11 عصر
باسلام

شما باید توسط یکی از نرم افزار میل سرور این کارو انجام بدید و آدرس رو بنویسید.

بهترین نرم افزارهای میل سرور Mdaemon و Exchangeهست.
برای کانفیگش هم اگر نتونستی بگو تا بیشتر راهنمائیت کنم.

tazarvmmr
یک شنبه 28 آذر 1389, 22:26 عصر
عزیز برادر مثل این میمونه که یگی من میخوام برنامه نود و نگاه کنم بعد که بهت گفتن کدوم کاناله بگب من که اصلا تلویزیون ندارم! چطوری نگاه کنم

خوب عزیز دل برادر یه Mail Server راه بنداز اول بعد ایشااله که برنامه کار میکنه

fahimeh2010
دوشنبه 29 آذر 1389, 14:34 عصر
سلام بچه ها منم همچین کاری رو میخوام توی سایتم داشته باشم اگه میشه از اول بگید باید چیکار کرد.مرسی

mehrdad201
دوشنبه 29 آذر 1389, 18:07 عصر
علاوه بر اینکه شما باید میل سرور داشته باشید. (مثلا برای ارسال ایمیل از اکانت گوگل شما باید از میل سرور گوگل استفاده کنید)

امکانش هست که میل سرور شما نیاز به authentication داشته باشه. یعنی باید یک اکانت مثلا noreply@domain.com رو به smtp سرور متصل کنی و از این طریق ایمیل بفرستید.

در ضمن بسیاری از میل سرورها اتصال ریموت رو محدود میکنند. مثلا ممکنه شما بخواید از میل سرور mail.domain.com خودتون از روی لوکال هاست ایمیل بفرستید (زمانیکه سیستم به اینترنت وصله) اما با پیغامهایی مثل spam و .... برخورد کنید.