خب اینم از API یی که گفتید، کدشو زدم،
![لبخند گشاده!](images/smilies/yahoo/109.gif)
همین منظورتون بود یا روش دیگه ای؟
کد سمت C# : تابع ارسال دیتا به صفحه وب، که یه داده با نام API داره ( که همون پسورد هستش، برا این که هر ننه قمری نتونه داده ارسال کنه به صفحه وب من
![لبخند گشاده!](images/smilies/yahoo/109.gif)
)، و داده هایی با نام : نام/ایمیل/عنوان/پیغام؛ که خب کاربر اگه دوست داشت اسمشو و ایمیلشو وارد میکنه ( دقیقا مثل قسمت نظرات سایت ها و وبلاگ ها )، عنوان پیغامشو وارد کنه و محتوای پیغامشو وارد میکنه.
private string SendDataToWebpage() {
string response = "";
try
{
string url = "https://dmf313.ir/IslamicApp/index.php";
string dataStr = string.Format("API={0}&Name={1}&Email={2}&Title={3 }&Message={4}", "Z4s!JF6b3?Ycu4!$", "Mahdi", "1@2.3", "Test Title", "Test Message");
byte[] dataByte = Encoding.UTF8.GetBytes(dataStr);
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);
webRequest.Method = "POST";
webRequest.ContentType = "application/x-www-form-urlencoded";
webRequest.ContentLength = dataByte.Length;
// send data
using (Stream webpageStream = webRequest.GetRequestStream())
{
webpageStream.Write(dataByte, 0, dataByte.Length);
}
// read response
using (HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse())
{
using (StreamReader reader = new StreamReader(webResponse.GetResponseStream()))
{
response = reader.ReadToEnd();
}
}
}
catch (Exception ex)
{
Debug.WriteLine(ex.Message);
}
Debug.WriteLine("response = " + response);
return response;
}
کد سمت وب ( PHP ) : اگه API یا همون پسورد صحیح بود ( که خب همیشه صحیح هستش چون خودم کدشو نوشتم
![لبخند گشاده!](images/smilies/yahoo/109.gif)
)، میاد داده های فوق رو به ایمیل از قبل تعریف شده در کد PHP، ارسال میکنه؛ یه متنی هم به عناون پاسخ ارسال میکنه سمت برنامه C# تا نرم افزارمون چشم به راه نمونه
<?php$Pass = "Z4s!JF6b3?Ycu4!$"; // API [ Password ]
$Response = "";
$EmailTo = "mahdedamarchi@gmail.com"; // Send email to this address!
// Read Data
$API = $_POST["API"];
$Name = $_POST["Name"];
$EmailFrom = $_POST["Email"];
$Title = $_POST["Title"];
$Message = $_POST["Message"];
// if password correct -> Send Email
if ($API == $Pass)
{
$content = "<p style=' font-size: 16px; ' ><span style=' font-weight: bold; color: red; font-size: 18px; '>نام : </span>".$Name."</p>".
"<p style=' font-size: 16px; ' ><span style=' font-weight: bold; color: red; font-size: 18px; '>ایمیل : </span>".$EmailFrom."</p>".
"<p style=' font-size: 16px; ' ><span style=' font-weight: bold; color: red; font-size: 18px; '>عنوان : </span>".$Title."</p>".
"<p style=' font-size: 16px; ' ><span style=' font-weight: bold; color: red; font-size: 18px; '>پیغام : </span>".$Message."</p>";
$headers = "From: wordpress@dmf313.ir" . "\n" . "Content-Type: text/html; charset=UTF-8" . "\r\n";
if (filter_var($EmailTo, FILTER_VALIDATE_EMAIL)) { // this line checks that we have a valid email address
$status = mail($EmailTo, $Title, $content, $headers); // This method sends the mail.
if( $status == true ) {
$Response = "Email Send";
}
else {
$Response = "Error Send Email";
}
}
else {
$Response = "Incorrect Email";
}
}
else
{
$Response = "API is inCorrect";
}
// Send Response
echo $Response;
?>
نتیجه : اینم یه عکس از نمونه ایمیل ارسال شده :
Untitled.png
سوال : 1) همین منظورتون بود؟ 2) این کدهای من مشکلی چیزی ندارن؟ مخصوصا از نظر امنیتی! 3) نظری پیشنهادی چیزی بود حتما بگید لطفا.