Tags:
php
Hejsa!
Vi bruger et system, som automatisk sender mails ud ved tilmelding af siden, men der sker tit at den aldrig kommer frem til modtageren.
Det kan skyldes at mail programmet tror mailen er junk og smider den i junk mappen. Det sker også at ofir, gmail, hotmail og flere gratis e-mail programmer betragter disse mails som spam og igen får de aldrig mailen.
Hvad kan vi gøre for at afhjælpe dette problem?
6 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 6 karma
Er I sikre på, at jeres mails bliver afsendt korrekt?
Ved ikke hvordan I gør, men brug af mail() (php-funktion) kan give nogle problemer ved afsendelse af mange mails.
mail() kan være helt op til ½ sek. om at sende en enkelt mail. Hvis jeres server har en "max_execution_time" på f.eks. 30 sek, vil I ikke kunne sende mere end 60 mails.
Har selv været ude for det problem, idet jeg kørte et array med navne og emails igennem en for, hvori jeg brugte mail() til at sende beskeden.
Hvis I gør det samme, altså laver en løkke, kan I med fordel lave et cronjob som rammer en speciel side, f.eks. www.dit-domæne.dk/SendMail.php.
I SendMail.php laver I så systemet så den sender mails derfra.
Dette vil nok kun hjælpe, i det tilfælde, at I anvender en løkke til afsendelse af mails i dag.
Jeg er ret sikker på, at man som afsender af en mail, ikke kan stemple den som ikke-spam - for så ville der nok ikke være noget som hed spam.
Du kan dog opgive til dine brugere, fra hvilken adresse de vil modtage mails, så de kan tilføje den til deres "safelist".
Hjalp det?
0
Hej JT!
Vi er sikker på at mailen bliver sendt, men den lander bare ikke i brugens indbakke, men i deres junk mail.
Men har kan du se afsendelses delen:
<?
## v5.20 -> may. 20, 2005
session_start();
if ($_SESSION['adminarea']!="Active") {
echo "<script>document.location.href='login.php'</script>";
} else {
include ("../config/config.php");
if (isset($_POST['sendnlok'])) {
if ($_POST['subject']!=""&&$_POST['content']!="") {
$savedSettings="yes";
$newsletterContent=stripslashes($_POST['content']);
htmlmail($_POST['email'],$_POST['subject'],$newsletterContent,
$setts['adminemail'],$newsletterContent);
} else {
$savedSettings="no";
}
}
include ("header.php"); ?>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td rowspan="2"><img src="images/i_user.gif" border="0"></td>
<td width="100%"><img src="images/pixel.gif" height="24" width="1"></td>
<td> </td>
</tr>
<tr>
<td width="100%" align="right" background="images/bg_part.gif" class="head"><? echo $a_lang[USER_MANAGE]; echo " / "; echo $a_lang[USER_NEWS];?> </td>
<td><img src="images/end_part.gif"></td>
</tr>
</table>
<br>
<?
echo ($savedSettings=="yes")?"<p align=\\"center\\">Email successfully sent.</p>":"";
echo ($savedSettings=="no")?"<p align=\\"center\\">Error: The subject and body fields cannot be empty.</p>":"";
?>
<table width="100%" border="0" cellspacing="2" cellpadding="4">
<form action="senduseremail.php" method="post">
<input type="hidden" name="email" value="<?=$_REQUEST['email'];?>">
<input type="hidden" name="username" value="<?=$_REQUEST['username'];?>">
<tr>
<td colspan="2" align="center" class="c3"><b>
<?=$a_lang[TITLE_INDIV_SEND];?>
</b></td>
</tr>
<tr class="c1">
<td width="150"><?=$a_lang[SEND_EMAIL_TO];?>
:</td>
<td><strong><?=$a_lang[USERNAME];?></strong> : <?=$_REQUEST['username'];?><br>
<strong><?=$a_lang[EMAIL];?></strong> : <?=$_REQUEST['email'];?></td>
</tr>
<tr class="c2">
<td><?=$a_lang[SUBJECT];?>
:</td>
<td><input name="subject" type="text" id="subject"></td>
</tr>
<tr class="c1">
<td><?=$a_lang[ENTER_CONTENT];?>
:</td>
<td><textarea name="content" cols="45" rows="10" id="content"></textarea>
<script language="JavaScript1.2">
editor_generate('content');
</script><br>
<?=$a_lang[HTML_ALLOW];?></td>
</tr>
<tr>
<td colspan="2" align="center" class="c3"><input name="sendnlok" type="submit" id="sendnlok" value="<?=$a_lang[BTN_SEND_EMAIL];?>"></td>
</tr>
</form>
</table>
<? include ("footer.php");
} ?>
Det er ofte mails som sendes af systemet som svigter. Dertil bruges denne kode:
<?
## v5.20 -> may. 20, 2005
session_start();
if ($_SESSION['adminarea']!="Active") {
echo "<script>document.location.href='login.php'</script>";
} else {
include ("../config/config.php");
if (isset($_POST['sendemailok'])) {
$getInactiveUsers = mysql_query ("SELECT * FROM probid_users WHERE active=0");
while ($userArray = mysql_fetch_array($getInactiveUsers)) {
$nbAuctions = getSqlNumber("SELECT id FROM probid_auctions WHERE ownerid='".$userArray['id']."'");
$nbBids = getSqlNumber("SELECT id FROM probid_bids WHERE bidderid='".$userArray['id']."'");
$nbFeedbacks = getSqlNumber("SELECT userid FROM probid_feedbacks WHERE userid='".$userArray['id']."'");
if ($nbAuctions==0&&$nbBids==0&&$nbFeedbacks==0) {
## we have deleted the user
if ($setts['account_mode']==1) {
if ($fee['is_signup_fee']=="Y"&&$fee['val_signup_fee']>0) $regConfirm=0;
else $regConfirm=1;
} else if ($setts['account_mode']==2) $regConfirm=1;
$recipientId = $userArray['id'];
if ($regConfirm==1) {
include ("../mails/register_confirm.php");
} else {
## this doesnt need to be included here
## include ("mails/register.php");
}
}
}
echo "<script>document.location='index.php'</script>";
} else if (isset($_POST['cancelok'])) {
echo "<script>document.location='index.php'</script>";
}
include ("header.php"); ?>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td rowspan="2"><img src="images/i_user.gif" border="0"></td>
<td width="100%"><img src="images/pixel.gif" height="24" width="1"></td>
<td> </td>
</tr>
<tr>
<td width="100%" align="right" background="images/bg_part.gif" class="head"><? echo $a_lang[USER_MANAGE]; echo " / "; echo $a_lang[ACTIVATION_EMAILS];?> </td>
<td><img src="images/end_part.gif"></td>
</tr>
</table>
<br>
<table width="100%" border="0" cellspacing="2" cellpadding="4">
<form action="<?=$PHP_SELF; ?>" method="post">
<tr class="c3">
<td align="center"><b>
<?=$a_lang[ACTIVATION_EMAILS_TITLE];?>
</b></td>
</tr>
<tr align="center" class="c1">
<td><?=$a_lang[ACTIVATION_EMAILS_MESSAGE];?></td>
</tr>
<tr class="c3">
<td align="center"><input name="sendemailok" type="submit" id="sendemailok" value="<?=$a_lang[BUTT_PROCEED];?>">
<input name="cancelok" type="submit" id="cancelok" value="<?=$a_lang[BUTT_CANCEL];?>"></td>
</tr>
</form>
</table>
<? include ("footer.php");
} ?>
0
Hvis jeg forstår dig korrekt, så er der ingen problemer med afsendes af mails - korrekt?
Det eneste problemer er, at de havner modtageres junk-mail?!
Hvis det er korrekt, så tror jeg ikke umiddelbart at I kan gøre noget. Folk bestemmer selv, hvordan deres post bliver sorteret. Det er derfor ikke noget man kan kode sig ud af - tror jeg!
0
Husk at når i laver Jeres header, for at undgå de kan ramme junk mappen skal Jeres domæne navn, hedde det samme. Det vil sige hvis i har en gratis mail, ved f.eks. Frac.dk og jeres side hedder: test.frac.dk skal jeres mail afsendelse hedde: etellerandet@frac.dk, det kan afhjalp et problem jeg havde!
0
Husk at når i laver Jeres header, for at undgå de kan ramme junk mappen skal Jeres domæne navn, hedde det samme. Det vil sige hvis i har en gratis mail, ved f.eks. Frac.dk og jeres side hedder: test.frac.dk skal jeres mail afsendelse hedde: etellerandet@frac.dk, det kan afhjalp et problem jeg havde!