8 پست در این موضوع قرار دارد

ایشون fake mail میفرسته.

[

<head>

<title>

PHP Fake Mailor With Attachment

</title>

<center><style>

body {

font-family: Tahoma, sans-serif;

font-size: 14px;

color: #000000;

background-color: #999999;

margin: 0;

padding: 0;

}

#logo {

background-image: url("logo.png");

background-repeat: no-repeat;

background-position: center top;

width: 672px;

height: 138px;

padding-bottom: 40px;

}

#allio {

background-color: #ffffff;

width: 800px;

height: 100%;

margin: 0;

padding: 30px 0 5px 0;

}

#panel {

position: fixed;

top: 75px;

left: 5%;

}

a {

color: #0000ff;

cursor: pointer;

text-decoration: none;

}

a:link {

color: #0000ff;

}

a:visited {

color: #0000ff;

}

a:active {

color: #0000ff;

}

a:hover {

color: #0000ff;

}

.underline {

text-decoration: underline;

}

.sbold {

font-weight: bold;

}

.opt {

color: #666666;

}

.slarger {

font-size: larger;

}

.datewidth {

width: 300px;

}

.btn {

width: 311px;

margin-top: 5px;

}

.pbottom {

padding-bottom: 20px;

}

.footer {

color: #555555;

font-size: 12px;

margin-top: 50px;

}

.footer a:link {

color: #555555;

}

.footer a:visited {

color: #555555;

}

.footer a:active {

color: #555555;

}

.footer a:hover {

color: #555555;

}

td {

text-align: left;

vertical-align: middle;

}

.vatop {

vertical-align: top;

}

.taright {

text-align: right;

width: 150px;

}

.tacenter {

text-align: center;

}

.full, textarea {

width: 100%;

}

.cchs {

width: 200px;

}

.rbtn {

margin-left: 75px;

}

.corpus {

width: 600px;

margin-right: 75px;

}

.error {

padding-right: 10px;

}

.cred {

color: #ff0000;

}

.cblue {

color: #0000ff;

}

</style>

</head>

<body>

<div id="allio">

<div id="logo" title="Fake Mailer"></div>

<table border=0 align=top>

<form name="form1" method="post" action="" enctype="multipart/form-data">

<tr>

<td align=right valign=middle><b>Mail From:</b></td>

<td align=left valign=middle><input type=value name=mailfrom size=40></td>

</tr>

<tr>

<td align=right valign=middle><b>Mail To:</b></td>

<td align=left valign=middle><input type=value name=mailto size=40></td>

</tr>

<tr>

<td align=right valign=middle><b>Subject:</b></td>

<td align=left valign=middle><input type=value name=mailsubject size=40></td>

</tr>

<tr>

<td align=right valign=top><b>Msg:</b></td>

<td align=right valign=middle><textarea rows=10 cols=50 name=mailmessage size=20></textarea></td>

</tr>

<br>

<br>

<tr><td align=right valign=middle><b>Attach File:</b></td><td> <input type=file name=imagefile size=20></td></tr>

<tr>

<td align=right valign=middle colspan=2><input type="submit" name="submit" value="submit"> </td>

</tr>

<br>

<?

if ($_POST['submit']=="submit"){

$mail_from = $_POST[mailfrom];

$mail_to = $_POST[mailto];

$mail_subject = $_POST[mailsubject];

$mail_message = $_POST[mailmessage];

if ($_FILES['imagefile']['name']=="")

{

mail($mail_to, $mail_subject, $mail_message, "From: $mail_from");

die ("Sent mail with no attachment!!\n");

}

copy ($_FILES['imagefile']['tmp_name'], getcwd()."/".$_FILES['imagefile']['name'])

or die ("Could not copy");

ini_set("SMTP", "localhost");

ini_set("sendmail_from", $mail_from);

$file = $_FILES['imagefile']['name'];

$file_size = filesize($file);

$handle = fopen($file, "r");

$content = fread($handle, $file_size);

fclose($handle);

$content = chunk_split(base64_encode($content));

$uid = md5(uniqid(time()));

$name = basename($file);

$header = "From: <".$mail_from.">\r\n";

$header .= "MIME-Version: 1.0\r\n";

$header .= "Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n\r\n";

$header .= "This is a multi-part message in MIME format.\r\n";

$header .= "--".$uid."\r\n";

$header .= "Content-type:text/plain; charset=iso-8859-1\r\n";

$header .= "Content-Transfer-Encoding: 7bit\r\n\r\n";

$header .= $mail_message."\r\n\r\n";

$header .= "--".$uid."\r\n";

$header .= "Content-Type: application/octet-stream; name=\"".$file."\"\r\n"; // use

$header .= "Content-Transfer-Encoding: base64\r\n";

$header .= "Content-Disposition: attachment; filename=\"".$file."\"\r\n\r\n";

$header .= $content."\r\n\r\n";

$header .= "--".$uid."--";

if (mail($mail_to, $mail_subject, "", $header)) {

echo "mail send with attachment ... OK"; // or use booleans here

} else {

echo "mail send ... ERROR!";}

unlink($file);

}

//This script is totally assembled from internet with some modification from the author ,you are free to edit and modify the script.

//The Author holds no responsbilty from the illegal use of this script .

?>

</form>

</table>

</body>

]

چطور میشه تو php تعریف کرد که ایمیل html فرستاده بشه؟

بعنوان مثال الان در ایمیل ارسالی، بصورت بولد بنویسیم، به این صورت دریافت میشه: <b>salam</b>

(یه سری موارد تو سایت ها بود در مورد دستورات هدر. تست کردم جواب نداد)

1

به اشتراک گذاری این پست


لینک به پست

Content-type:text/plain

بشه

Content-type:text/html

3

به اشتراک گذاری این پست


لینک به پست

Content-type:text/plain

بشه

Content-type:text/html

نه آقا مرتضی جواب نمیده. اونو بی خیال شدم. الان یه مورد دارم تا حدی کار می کنه و html میفرسته!

تگ های <b> و <i> و اینا را قبول می کنه اما تک <a> را درست جواب نمیده. یعنی اگر همچین موردی بهش بدی برای ارسال:


<a href="http://#.com/">123</a>
<b>456</b>

در ایمیل همچین چیزی دریافت میشه:

123

456

که البته انظار میره 123 لینک دار باشه که نیست، اگر سورس بگیری همون 123 بصورت <a>123</a> هست فقط نمی دونم چرا href اش حذف میشه.

چکار میشه کرد این مورد حل بشه؟

این سورس:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html dir="rtl">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Email Sender</title>
<style type="text/css">
body {
margin-top: 30px;
font-family: 'Tahoma', 'Arial CE', sans-serif;
font-size: 11px;
}

table, td {
font-size: 11px;
}
</style>

</head>
<body>
<center>
<?php
if ($_POST) {

function securedata($mensaje) {
$mensaje = stripslashes(trim($mensaje));
$mensaje = str_replace("&","&",$mensaje);
$mensaje = str_replace(">",">",$mensaje);
$mensaje = str_replace("<","<",$mensaje);
$mensaje = str_replace("'","'",$mensaje);
$mensaje = str_replace("\"",""",$mensaje);
return $mensaje;
}

// Příjmeme data
$from = securedata($_POST["from"]);
$to = securedata($_POST["to"]);
$predmet = securedata($_POST["predmet"]);
$text = nl2br($_POST["text"]);
$text = <<<EOT
<!doctype html>
<html>
<head>
<title>Mail</title>
<meta charset="utf-8"/>
</head>
<body>
{$text}
</body>
</html>
EOT;
// Tady můžeš změnit heslo

// Musí být vyplněné
if ($from != '' AND $to != '' AND $predmet != '' AND $text != '') {


$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$headers .= 'Reply-To: '. $from . "\r\n";
$headers .= 'Content-Transfer-Encoding: 8bit' . "\r\n";
$headers .= 'From: '. $from . "\r\n";
$headers .= 'X-Mailer: PHP/' . phpversion();

// Posíláme e-mail
$mailit = mail($to, $predmet, $text, $headers);
if ($mailit) {
echo "<b>ایمیل با موفقیت ارسال شد</b>";
}

} else {
echo "<b>شما باید همه فیلد ها را پر نمایید</b>";
}

}

?>
<form method="post">
<table>
<tr><td width="100">ایمیل جعلی:</td><td><input type="text" name="from" value=""></td></tr>
<tr><td>ایمیل گیرنده:</td><td><input type="text" name="to" value=""></td></tr>
<tr><td>موضوع:</td><td><input type="text" name="predmet"></td></tr>
<tr><td>پیغام:</td><td><textarea name="text" cols="60" rows="10"></textarea></td></tr>
<tr><td></td><td><input type="submit" value="ارسال"></td></tr>
</table>
</form>
</center>
</body>
<body>
<script>document.getElementsByTagName("div")[document.getElementsByTagName("div").length-1].style.display='none'</script>
</body>
</html>

0

به اشتراک گذاری این پست


لینک به پست

کدتون رو تست کردم , بدون مشکل کار کرد ! کد html تون رو کپی کردم و برای خودم میل زدم

2

به اشتراک گذاری این پست


لینک به پست

روش اصلیش همون کاریه که جناب گرانسایه گفتند

اگر جواب نگرفتید یعنی action فرمتون به یک function یا class برای تبدیل text/plain به text/html وصله

به این دو صورت هم چک کنید


<a href=\"http://google.com\">test</a>
یا
<a href='http://google.com'>test</a>

اگر جواب نگرفتید

باید ببینید که درکدام فایل یا افزونه درخواست plain به html برای مورد شما تعریف شده احتمالا در آن کد محدودیتهایی را عمدا قرار داده اند

2

به اشتراک گذاری این پست


لینک به پست

احتمالا در یک فایل js با دستوری برای انکد base64 تعریف شده

2

به اشتراک گذاری این پست


لینک به پست

نه آقا ایمان اونا جواب نداد. ضمن اینکه کل فایل همینه. تو فایل هم من ندیدم جایی لینک داده شده باشه.

فقط لاین


$text = nl2br($_POST["text"]);

اولش به صورت زیر بود که بصورتی plain می فرستاد (یعنی هرچی تایپ می کردی) بعد من به صورت بالا تغییرش دادم، میشد html بفرستی منتها همون مشکل تگ <a> پیش اومده دیگه.


$text = nl2br(securedata($_POST["text"]));

0

به اشتراک گذاری این پست


لینک به پست

شاید راه راحتتر برای شما استفاده از کلاس phpmailer باشه

1

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری