PDA

View Full Version : سوال: ارسال ایمیل



alireza.b
چهارشنبه 08 خرداد 1392, 05:38 صبح
سلام
یک کد می خوام که با اون بتونم از یاهو به یاهو یا سایت های دیگر ایمیل بزنم.
کسی می تونه کمک کنه؟

hamid_hr
چهارشنبه 08 خرداد 1392, 09:09 صبح
اينو به پروژه اضافه كن ازش استفاده كن

EmailSender esn = new EmailSender();

esn.From = "ايميل خودت";

esn.Password = "پسوورد خويت";
esn.To = "ايميل دريافت كننده";
esn.Subject = "موضوع";
esn.Body = "متن";
esn.EmailProvider = EmailSender.EmailProviderType.Yahoo;
List<string> lst = new List<string>();
esn.AttachmentFileList = "ليست ادرس فايل هاي اتچ شده";
esn.Send();

alireza.b
چهارشنبه 08 خرداد 1392, 16:09 عصر
اينو به پروژه اضافه كن ازش استفاده كن

EmailSender esn = new EmailSender();

esn.From = "ايميل خودت";

esn.Password = "پسوورد خويت";
esn.To = "ايميل دريافت كننده";
esn.Subject = "موضوع";
esn.Body = "متن";
esn.EmailProvider = EmailSender.EmailProviderType.Yahoo;
List<string> lst = new List<string>();
esn.AttachmentFileList = "ليست ادرس فايل هاي اتچ شده";
esn.Send();

کلاسی که ضمیمه کردید رو به پروژه اضافه کردم این دستورم توی یه button گذاشتم ولی به EmailSender ایراد می گیره و نمی شناستش

alireza.b
چهارشنبه 08 خرداد 1392, 16:10 عصر
using System.Net.Mail;
using System.Net;
این دو فضا رو هم به پروژه اضافه کردم

aradrobo
چهارشنبه 08 خرداد 1392, 16:15 عصر
SmtpClient MyMail = new SmtpClient();
MailMessage MyMsg = new MailMessage();
MyMail.Host = "smtp.mail.yahoo.com";
MyMsg.To.Add(new MailAddress("OtherEmail@yahoo.com"));
MyMsg.Subject = "My Subject";
MyMsg.SubjectEncoding = Encoding.UTF8;
MyMsg.IsBodyHtml = true;
MyMsg.From = new MailAddress("MyEmail@yahoo.com", "My Nick Name");
MyMsg.BodyEncoding = Encoding.UTF8;
MyMsg.Body = "My Text";
MyMail.UseDefaultCredentials = false;
NetworkCredential MyCredentials = new NetworkCredential("MyEmail@yahoo.com", "My Password");
MyMail.Credentials = MyCredentials;
MyMail.Send(MyMsg);

alireza.b
چهارشنبه 08 خرداد 1392, 16:17 عصر
با این کد به سرویس های ایمل دیگه مثل جیمیل هم میشه ایمیل زد؟

alireza.b
چهارشنبه 08 خرداد 1392, 16:23 عصر
وقتی به این خط میرسه

MyMail.Send(MyMsg);
میگه ارسال با شکست مواجه شد

aradrobo
چهارشنبه 08 خرداد 1392, 17:38 عصر
مشخص کن واسه کدوم رو می خوای ؟ یاهو یا گوگل ؟

alireza.b
چهارشنبه 08 خرداد 1392, 18:11 عصر
ممنون مشکلم حل شد

drsina
یک شنبه 12 خرداد 1392, 09:28 صبح
سلام
من کد



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Mail;
using System.Net;


namespace ConsoleApplication4
{
class Emialer
{
static void Main(string[] args)
{
EmailSender esn = new EmailSender();

esn.From = "ايميل خودت";

esn.Password = "پسوورد خويت";
esn.To = "ايميل دريافت كننده";
esn.Subject = "موضوع";
esn.Body = "متن";
esn.EmailProvider = EmailSender.EmailProviderType.Yahoo;
List<string> lst = new List<string>();
esn.AttachmentFileList = "ليست ادرس فايل هاي اتچ شده";
esn.Send();
}
}
}




رو تو کنسول میزنم .... ارورر میده !!!
The type or namespace name 'EmailSender' could not be found (are you missing a using directive or an assembly reference

hamid_hr
یک شنبه 12 خرداد 1392, 09:41 صبح
ِك فايل برا دانلود گزاشتن
اونو دانلود كن و به پروژه اضافش كن

drsina
یک شنبه 12 خرداد 1392, 10:01 صبح
حمید همش درسته ؛ خو اصلان بالا هم که میاد ارورر میده .... میره رو Debug
به جا اون کلمات فارسی هم جایگزین کردم ولی تو کنسول نشد...


using System;
using System.Collections.Generic;
using System.Net.Mail;
using System.Net;

public class EmailSender
{
private List<string> _files = new List<string>();

public string From { get; set; }
public string To { get; set; }
public string Subject { get; set; }
public string Body { get; set; }
public bool IsHtmlBody { get; set; }
public string Password { get; set; }
public EmailProviderType EmailProvider { get; set; }
public string Host { get; set; }
public int Port { get; set; }
public bool EnableSSL { get; set; }

/// <summary>
/// Get or Set files to attach with email.
/// </summary>
public string[] AttachmentFileArray
{
get
{
int a = 0;
if (_files != null)
a = _files.Count;
string[] f = new string[a];
int count = -1;
foreach (string s in _files)
{
count++;
f[count] = s;
}
return f;
}
set
{
_files = new List<string>();
foreach (string s in value)
{
_files.Add(s);
}
}
}

/// <summary>
/// Get or Set files to attach with email.
/// </summary>
public List<string> AttachmentFileList
{
get
{
return _files;
}
set
{
_files = value;
}
}

/// <summary>
/// Set a file to attach with email.
EmailSender esn = new EmailSender();

static void Main(string[] args)
{
EmailSender esn = new EmailSender();

esn.From = "ايميل خودت";

esn.Password = "پسوورد خويت";
esn.To = "ايميل دريافت كننده";
esn.Subject = "موضوع";
esn.Body = "متن";
esn.EmailProvider = EmailSender.EmailProviderType.Yahoo;
List<string> lst = new List<string>();
esn.AttachmentFileList = "ليست ادرس فايل هاي اتچ شده";
esn.Send();
}
/// </summary>
public string AttachFile
{
set
{
_files = new List<string>();
_files.Add(value);
}
}

public enum EmailProviderType
{
Yahoo,
Gmail,
Hotmail,
Other
}

public void Send()
{
MailMessage mail = new MailMessage();
mail.From = new MailAddress(From);
mail.To.Add(To);
mail.Subject = Subject;
mail.Body = Body;
mail.IsBodyHtml = IsHtmlBody;
foreach (string s in _files)
{
mail.Attachments.Add(new Attachment(s));
}

SetProvider();

SendMail(mail);
}

public void Send(MailMessage mail, string password, EmailProviderType emailProvider)
{
Password = password;
EmailProvider = emailProvider;

SetProvider();

SendMail(mail);
}

public void Send(string from, string to, string subject, string body,
bool isHtmlBody, string password, EmailProviderType emailProvider)
{
From = from;
To = to;
Subject = subject;
Body = body;
IsHtmlBody = isHtmlBody;
Password = password;
EmailProvider = emailProvider;

Send();
}

private void SetProvider()
{
switch (EmailProvider)
{
case EmailProviderType.Yahoo:
Host = "smtp.mail.yahoo.com";
Port = 587;
EnableSSL = false;
break;
case EmailProviderType.Gmail:
Host = "smtp.gmail.com";
Port = 587;
EnableSSL = true;
break;
case EmailProviderType.Hotmail:
Host = "smtp.live.com";
Port = 587;
EnableSSL = true;
break;
default:
break;
}
}

private void SendMail(MailMessage mail)
{
CheckMailParameters();

SmtpClient smtp = new SmtpClient(Host, Port);
smtp.Credentials = new NetworkCredential(From, Password);
smtp.EnableSsl = EnableSSL;
smtp.Send(mail);

smtp = null;
mail = null;
}

private void CheckMailParameters()
{
if (From + "" == "")
throw new Exception("Email (From) address is blank.");
if (To + "" == "")
throw new Exception("Email (To) address is blank.");
if (Password + "" == "")
throw new Exception("Password is blank.");
if (Host == "")
throw new Exception("Host is blank.");
if (Port == 0)
throw new Exception("Port is blank.");
}
}

hamid_hr
یک شنبه 12 خرداد 1392, 10:28 صبح
من يكي ساختم شد
بيا اينو تست كن105017