View Full Version : سوال: ارسال ایمیل
alireza.b
چهارشنبه 08 خرداد 1392, 06:38 صبح
سلام
یک کد می خوام که با اون بتونم از یاهو به یاهو یا سایت های دیگر ایمیل بزنم.
کسی می تونه کمک کنه؟
hamid_hr
چهارشنبه 08 خرداد 1392, 10: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, 17: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, 17:10 عصر
using System.Net.Mail;
using System.Net;
این دو فضا رو هم به پروژه اضافه کردم
aradrobo
چهارشنبه 08 خرداد 1392, 17: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, 17:17 عصر
با این کد به سرویس های ایمل دیگه مثل جیمیل هم میشه ایمیل زد؟
alireza.b
چهارشنبه 08 خرداد 1392, 17:23 عصر
وقتی به این خط میرسه
MyMail.Send(MyMsg);
میگه ارسال با شکست مواجه شد
aradrobo
چهارشنبه 08 خرداد 1392, 18:38 عصر
مشخص کن واسه کدوم رو می خوای ؟ یاهو یا گوگل ؟
alireza.b
چهارشنبه 08 خرداد 1392, 19:11 عصر
ممنون مشکلم حل شد
drsina
یک شنبه 12 خرداد 1392, 10: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, 10:41 صبح
ِك فايل برا دانلود گزاشتن
اونو دانلود كن و به پروژه اضافش كن
drsina
یک شنبه 12 خرداد 1392, 11: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, 11:28 صبح
من يكي ساختم شد
بيا اينو تست كن105017
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.