PDA

View Full Version : ارسال ایمیل به یکی از کامپیوترهای موجود در شبکه



Himalaya
یک شنبه 24 شهریور 1387, 17:25 عصر
سلام ...
دو تا مشکل دارم ... ممنون میشم کمکم کنید
1...من میخوام برنامه ای بنویسم که تو اون برنامه چند تا textbox وجود داره و وقتی کاربر روی یک دکمه کلیک کرد برنامه outlook باز بشه و مقادیر موجود تو textbox ها به outlook پاس داده بشن طوری که مقدار هر تکست باکس تو یه سطر outlook قرار بگیره و کاربر با زدن دکمه send تو outlook ایمیل رو ارسال کنه ... البته میخوام آدرس کامپیوتری تو شبکه که قرار ایمیل رو بگیره هم بعد از کلیک روی دکمه
(تو برنامه ای که خودم مینویسم) وارد شده باشه
2... اگه بخوام بدون واسطه (بدون برنامه outlook) ایمیل رو واسه یه کامپیوتر تو شبکه ارسال کنم چی؟
مرسی از توجهتون

رضا عربلو
یک شنبه 24 شهریور 1387, 18:12 عصر
Process.Start("mailto:xxx@yyy.com (xxx@yyy.com)", "");

رضا عربلو
یک شنبه 24 شهریور 1387, 19:35 عصر
برای ارسال e-Mail بدون outlook هم :
http://www.dotnetspider.com/resources/1107-A-Simple-C-Class-To-Send-Mails-Using-SMTP.aspx

H2K
یک شنبه 24 شهریور 1387, 19:52 عصر
ارسال ایمیل (http://barnamenevis.org/forum/showpost.php?p=591823&postcount=128)

:لبخندساده:

Himalaya
دوشنبه 01 مهر 1387, 00:12 صبح
ممنون از کمکتون ... کدهای زیر به دردم میخوره ولی فقط یه مشکل ... من میخوام مثلا وقتی یه متنی از
تکست باکس 1 به قسمت body فرستاده میشه ، قبل از اینکه محتوای تکست باکس 2 تو ادامه متنهای body
قرار بگیره ، قبلش یه اینتر زده بشه که محتوای تکست باکس 2 به یه خط پایین تر منتقل بشه(تو قسمت body)
بازم ممنون


private static void SendMail(String mailto,String cc,String subject,String body)
{

String command = String.Format("mailto:{0}?cc={1}&subject={2}&body={3}", mailto, cc, subject, body);
System.Diagnostics.Process.Start(command);
}



private void button1_Click(object sender, EventArgs e)
{
SendMail("rkiani88@yahoo.com","rkiani88@hotmail.com",
"this a sample subject for sample mail",
"Hi All, this is a sample code for sending parameters to outlook exprees");
}

Himalaya
دوشنبه 01 مهر 1387, 12:39 عصر
کسی نمیتونه کمک کنه ؟؟؟؟

رضا عربلو
دوشنبه 01 مهر 1387, 12:51 عصر
فکز می کنم دنبال کاراکتر Carriage return/Line Feed هستید. در اینصورت :
String.NewLine یا "n\" و یا char(10) + char(13)

Himalaya
دوشنبه 01 مهر 1387, 13:50 عصر
وقتی از این استفاده میکنم


textBox1.Text + "\n" + textBox2.Text

وقتی outlook بازمیشه ، "n\" حذف میشه و متن دوباره به هم میچسبه...از string.newline باید چه جوری استفاده کنم (چون وقتی string رو مینویسم و . رو میزنم اصلا newline به من نمیده) یا از char(10) که گفتید باید چه جوری بین 2 تا string استفاده کنم...
راستی وقتی فارسی رو به outlook ارسال میکنم به جای کلمه ها ؟ قرار میده
ممنون

رضا عربلو
دوشنبه 01 مهر 1387, 17:06 عصر
این هم یک مثال که کار می کند.


namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string s1 = "Line 1";
string s2 = "Line 2";
Console.WriteLine(s1 + Environment.NewLine + s2);
Console.WriteLine(s1 + "\n" + s2);
Console.WriteLine(s1 + (char)13 + (char)10 + s2);
Console.ReadLine();
}
}
}

Himalaya
سه شنبه 02 مهر 1387, 13:48 عصر
درسته همه اینها تو خود برنامه کار میکنه ولی مشکل من وقتیه که s1 و s2 پاس داده میشن به outlook
اصلا بزارید یه جور دیگه موضوع رو براتون بگم ... فرض کنید ما 2 تا کامپیوتر تو شبکه داریم که میخوایم بدون outlook و از طریق مثلا net.mail از یک کامپیوتر1 به کامپیوتر2 ایمیل بزنیم ... این کامپیوترها به اینترنت هم وصل نیستن و فقط از طریق شبکه داخلی به هم وصل هستن... من تو خیلی از برنامه هایی که با #c و برای فرستادن ایمیل نوشته شده ، عبارتی مثل


SmtpServer.Host = smtp.gmail.com;
SmtpServer.Port = 587;

زیاد دیدم ... حالا میخوام یه لطفی به من بکنید و بگید به جای قسمتهایی که قرمزشون کردم چه مشخصاتی
از کامپیوتر 1 یا 2 رو باید بنویسم ... ممنون

رضا عربلو
سه شنبه 02 مهر 1387, 16:34 عصر
Host را نام کامپیوتر بصورت کامل (FQN = Fully qualified Name) یا ای پی Mail server تان قرار دهید.
Port نیز شماره پورت میل سرورتان است که بطور پیش فرض 25 است

فکر می کنم شما در راه اندازی و پیکر بندی میل سرور مشکل دارید.
http://www.ilopia.com/Articles/WindowsServer2003/EmailServer.aspx