PDA

View Full Version : سوال: سورس ساده ارسال Email



good_boy
پنج شنبه 22 بهمن 1394, 09:11 صبح
سلام دوستان گرامی
حدود 15 تا سورس ارسال email تست کردم یکیش کار نکرد
کسی یه سورس نداره بی دردسر کار کنه
با تشکر

mandanim
پنج شنبه 22 بهمن 1394, 11:43 صبح
string smtpAddress = "smtp.mail.yahoo.com";
int portNumber = 587;
bool enableSSL = true;
//به جای Mail باید ایمیلتو وارد کنی . چون از smtp یاهو استفاده کردم باید yahoo باشه
string emailFrom = "Mail@yahoo.com";
//پسورد ایمیلتو وارد می کنی
string password = "Password";
//ایمیلی که قراره براش بفرستی
string emailTo = "Email@gmail.com";
string subject = "Hello";
string body = "Hello, I'm just writing this to say Hi!";

using (MailMessage mail = new MailMessage())
{
mail.From = new MailAddress(emailFrom);
mail.To.Add(emailTo);
mail.Subject = subject;
mail.Body = body;
mail.IsBodyHtml = true;
//اگه میخوای فایلی رو باهاش بفرستی آدرسشو می نویسی یا اصلا ازش استفاده نمی کنی
mail.Attachments.Add(new Attachment("D:\\Mashin.jpg"));

SmtpClient smtp = new SmtpClient(smtpAddress, portNumber);

smtp.Credentials = new NetworkCredential(emailFrom, password);
smtp.EnableSsl = enableSSL;
smtp.Send(mail);


}



موفق باشی

pbm_soy
جمعه 23 بهمن 1394, 01:00 صبح
سلام دوستان گرامی
حدود 15 تا سورس ارسال email تست کردم یکیش کار نکرد
کسی یه سورس نداره بی دردسر کار کنه
با تشکر

مطمئنا همه سورسهایی که پیدا کردید کم وبیش یکی هستند و فرقی باهم ندارد!
اگر برنامه اجرا میشود و خطای در حین اجرا دارید مطمئن باشید ایراد از آدرس ایمیل فرستنده و یا رمز آن و یا حتی از آدرس SMTP server است
ویا حتی ایراد میتواند از تنظیمات دستگاهی باشد که برنامه در آن اجرا میشود!
این موارد قبلا هم مطرح شده بود

good_boy
شنبه 24 بهمن 1394, 07:52 صبح
سلام دوستان عزیز
شرمنده به احتمال زیاد فرمایش شما درسته چون زیاد با #C آشنایی ندارم
وقتی کدها رو کپی میزنم میزارم تو یه دکمه چند حط خطا میده
من از visual studio 2010 استفاده میکنم
این مشکل امکان داره از net frame work که تو سیستمم نصب باشه
بازم شرمنده میتونید تو یه پروژه قرار بدین این جا آپلود کنید تست کنم

ms-ninja
شنبه 24 بهمن 1394, 10:54 صبح
برای من زمان ارسال به اررور میخوره

139030


من از متغیر برای دریافت مشخصات استفاده کردم


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Net.Mail;
using System.Net;
using Telerik.WinControls;




namespace Matab.Email
{
public partial class sned : Telerik.WinControls.UI.RadForm
{
public sned()
{
InitializeComponent();
DataClasses1DataContext context = new DataClasses1DataContext();
var quary = from q in context.db_sts select q;
this.label1.DataBindings.Add(new System.Windows.Forms.Binding("Text", quary, "e_user", true));
this.label2.DataBindings.Add(new System.Windows.Forms.Binding("Text", quary, "e_pass", true));
this.label3.DataBindings.Add(new System.Windows.Forms.Binding("Text", quary, "e_server", true));
this.label4.DataBindings.Add(new System.Windows.Forms.Binding("Text", quary, "e_port", true));
this.label5.DataBindings.Add(new System.Windows.Forms.Binding("Text", quary, "e_name", true));


}


private void button1_Click(object sender, EventArgs e)
{

}


private void sned_Load(object sender, EventArgs e)
{


}


private void radButton1_Click(object sender, EventArgs e)
{
string a, b, c, d;
a = label1.Text;
b = label2.Text;
c = label3.Text;
d = label5.Text;



string smtpAddress = c;
int portNumber = 587;
bool enableSSL = true;
//به جای Mail باید ایمیلتو وارد کنی . چون از smtp یاهو استفاده کردم باید yahoo باشه
string emailFrom = a;
//پسورد ایمیلتو وارد می کنی
string password = b;
//ایمیلی که قراره براش بفرستی
string emailTo = "nodroon@Gmil.com";
string subject = "Hello";
string body = "Hello, I'm just writing this to say Hi!";


using (MailMessage mail = new MailMessage())
{
mail.From = new MailAddress(emailFrom);
mail.To.Add(emailTo);
mail.Subject = subject;
mail.Body = body;
mail.IsBodyHtml = true;




SmtpClient smtp = new SmtpClient(smtpAddress, portNumber);


smtp.Credentials = new NetworkCredential(emailFrom, password);
smtp.EnableSsl = enableSSL;
smtp.Send(mail);


}




}
}
}

pbm_soy
شنبه 24 بهمن 1394, 19:36 عصر
اگر از خط ارسال خطا میگیرد مطمئن باشید ایراد از آدرس ایمیل فرستنده و یا رمز آن و یا حتی از آدرس SMTP server است
ویا حتی ایراد میتواند از تنظیمات دستگاهی باشد که برنامه در آن اجرا میشود!

مثلا برای شما پیش آمده که بخواهید جیمیل را باز کنید خطای ssl بدهد یا بخواهید با گوگل سرچ کنید خطای ssl بدهد بروی همچین کامپیوتری هم این دستورات ارسال ایمیل کار نمیکنند چون شما ssl enable را فعال کردید برای تبادل اطلاعات با smpt server
پس قبل از اجرای این برنامه بروی کامپیوتر اول از همه قابلیت اتصال به سرور بصورت ssl را مطمئن بشید!

nunegandom
یک شنبه 25 بهمن 1394, 01:39 صبح
کد شما مشکلی نداره، مشکل تویه .NET 4.5 هست! :قهقهه:
در ضمن میتونید از Token استفاده کنید که username و password اتون sniff نشه
DotNet اتون رو به ۴ تغییر بدید مشکل رفع میشه

ms-ninja
یک شنبه 25 بهمن 1394, 04:51 صبح
برای من 3.5 فکر کنم

nunegandom
یک شنبه 25 بهمن 1394, 05:43 صبح
روی ۴ مشکلی نداره
میتونی از DLL های موجود هم استفاده کنی

nunegandom
یک شنبه 25 بهمن 1394, 05:47 صبح
الان روی ۳.۵ تست کردم مشکل پیدا کرد دوباره

fool66
یک شنبه 25 بهمن 1394, 07:06 صبح
using System.Net;
using System.Net.Mail;

var fromAddress =newMailAddress("from@gmail.com","From Name");
var toAddress =newMailAddress("to@example.com","To Name");
conststring fromPassword ="fromPassword";
conststring subject ="Subject";
conststring body ="Body";

var smtp =newSmtpClient
{
Host="smtp.gmail.com",
Port=587,
EnableSsl=true,
DeliveryMethod=SmtpDeliveryMethod.Network,
UseDefaultCredentials=false,
Credentials=newNetworkCredential(fromAddress.Addre ss, fromPassword)
};
using (var message =newMailMessage(fromAddress, toAddress)
{
Subject= subject,
Body= body
})
{
smtp.Send(message);
}