PDA

View Full Version : فرم تماس با ما با قابلیت ارسال ایمیل به مدیر سایت



kian1608
سه شنبه 16 مهر 1392, 01:12 صبح
من یه فرم تماس با ما میخوام که هرکی وارد سایت میشه بتونه به مدیر سایت پیام بده یا همون ایمیل و این پیام بره تو inbox ایمیل مدیر، نه پنل مدیریت سایت. هرچی پیدا کردم این قابلیت رو نداشت. چنتایی رو که پیدا کردم فقط با یه ایمیلی که واسش تعریف میکردیم داخل کدش و به ایمیلی که تو تکست باکس مینوشتیم ایمیل ارسال میکرد.
حالا واقعا به این احتیاج دارم. اگه کمکم کنید خیلی ممنون میشم. به زبان Asp.net هم باشه.
منتظر کمک شما هستم.

sasanrstm
سه شنبه 16 مهر 1392, 03:04 صبح
جستجو کن تو همین سایت ارسال ایمیل از طریق سایت و نمایش ایمیل در سایت یه نمونه پروژه هم هست. خودم دیدم اما آدرسش یادم نیست. بگردی خیلی چیزا پیدا میکنی.

kian1608
سه شنبه 16 مهر 1392, 13:50 عصر
جستجو کن تو همین سایت ارسال ایمیل از طریق سایت و نمایش ایمیل در سایت یه نمونه پروژه هم هست. خودم دیدم اما آدرسش یادم نیست. بگردی خیلی چیزا پیدا میکنی.

منم همینا رو دیدم. ولی اینا یه مشکلی دارن اونم اینکه فقط وقتی مدیر سایت بخواد ایمیل ارسال کنه به اعضاش میشه. مثلا تو کدش میای یه ایمیل اصلی تعریف میکنی واسه مدیره و این ایمیل رو اهراز هویت میکنی با پسوردش. ولی مثلا کاربرا بخوان ایمیل ارسال کنن دیگه که نباید پسوردش رو وارد کنه. فقط میاد ایمیل خودش رو وارد میکنه و به ایمیلی که از پیش واسه مدیر تعریف کردیم ایمیل ارسال میکنه. همون فرم تماس با ما.
من این کد رو واسه فرم تماس با ما استفاده کردم :

Protected Sub btn_send_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn_send.Click
SendMail(txt_email.Text, txt_matn.Text)
End Sub

Private Sub SendMail(ByVal from As String, ByVal body As String)
Dim mailServerName As String = "smtp.gmail.com"
Dim message As MailMessage = New MailMessage(from, "kian1608@gmail.com", "feedback", body)
Dim mailClient As SmtpClient = New SmtpClient

mailClient.Host = mailServerName
mailClient.Send(message)
message.Dispose()
End Sub
که میاد تو txt_email.text ایمیل خودش رو مینویسه و به kian1608@gmail.com ایمیل ارسال میکنه. که این خطا رو میده:

The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.0 Must issue a STARTTLS command first. r48sm73943318eev.14 - gsmtp

myroya
شنبه 03 خرداد 1393, 23:23 عصر
سلام آقای kian1608

من هم مدتی هست دنبال این هستم
جایی چیزی پیدا کردید؟
لطفا اگر موفق شدید لینکش رو به من هم بدید

ممنون

r_s1389@yahoo.com
یک شنبه 04 خرداد 1393, 11:07 صبح
من یه فرم تماس با ما میخوام که هرکی وارد سایت میشه بتونه به مدیر سایت پیام بده یا همون ایمیل و این پیام بره تو inbox ایمیل مدیر، نه پنل مدیریت سایت. هرچی پیدا کردم این قابلیت رو نداشت. چنتایی رو که پیدا کردم فقط با یه ایمیلی که واسش تعریف میکردیم داخل کدش و به ایمیلی که تو تکست باکس مینوشتیم ایمیل ارسال میکرد.
حالا واقعا به این احتیاج دارم. اگه کمکم کنید خیلی ممنون میشم. به زبان Asp.net هم باشه.
منتظر کمک شما هستم.
این کد ارسال ایمیل هستش ببین به کارت میاد

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Net.Mail;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
protected void btnSend_Click(object sender, EventArgs e)
{
SmtpClient obj = new SmtpClient();

MailMessage MailMsg = new MailMessage();

MailMsg.To.Clear();

MailMsg.To.Add(new MailAddress(txtTo.Text));
MailMsg.From = new MailAddress("ramin.sahandi@yahoo.com");
MailMsg.Subject = txtSubject.Text;
MailMsg.BodyEncoding = System.Text.Encoding.UTF8;
MailMsg.IsBodyHtml = true;
obj.Host = "smtp.mail.yahoo.com";

System.Net.NetworkCredential basicAuthenticaionInfo = new System.Net.NetworkCredential("ramin.sahandi@yahoo.com", "00000000000000");

obj.UseDefaultCredentials = false;

obj.Credentials = basicAuthenticaionInfo;

MailMsg.Body = txtMail.Text;
MailMsg.IsBodyHtml = true;
try
{
obj.Send(MailMsg);
lblMsg.Text = "Mail Send !";
}
catch ( Exception ex )
{
lblMsg.Text = ex.ToString();
}

}
}


مشکلی بود پیام بده

fahim1384
یک شنبه 04 خرداد 1393, 13:12 عصر
سلام
تو ارسال ايميل در asp بايد پسورد رو داشته باشي و البته تو لوكال براي ارسال ايميل ارور ميده بايد اگه بخواي ايميل ارسال بشه وب رو روي هاست آپلود كني و دو تا ايميل روي هاست ايجاد كني كه يكي براي ارسال باشه يعني پسوردشو بدي به asp و يكي هم براي مدير سايت كه ايميل به اون ارسال مي شه
البته ادرس ايميل اول مي تونه هر ايميلي كه پسوردش رو داشته باشي باشه و وقتي مدير ايميل رو دريافت مي كنه هميشه فرستنده ايميل اول هست با موضوع و بادي كه پر كننده فرم وارد مي كنه البته اگه بخواي ايميل پر كننده فرم رو هم داشته باشي مي توني اون رو تو بادي يا سابجكت ايميل قرار بدي و به مدير ارسال كني

MailMessage mail = new MailMessage();

//set the addresses
mail.From = new MailAddress("ادرس ايميل اول");
mail.To.Add("ادرس ايمل مدير");
//set the content
mail.Subject = "contact fa";
mail.Body += "name: " + tb_name.Text + Environment.NewLine;
mail.Body += "email: " + tb_email.Text + Environment.NewLine;
mail.Body += "subject: " + tb_subject.Text + Environment.NewLine;
mail.Body += "body: " + tb_body.Text + Environment.NewLine;

//send the message
SmtpClient smtp = new SmtpClient("smtp هاست");

NetworkCredential Credentials = new NetworkCredential("ادرس ايميل اول", "پسورد ايميل اول");
smtp.Credentials = Credentials;
smtp.Send(mail);