Jag har sökt på forumet, men inte kunna få ngt...
Jag har kunds webplats där vi vill skicka email via PHPMAILER på sidan E-CARD, eftersom email ska vara i HTML (formaterad text och bilder). Vi hade detta tidigare hos CLICHE innan vi flyttade domänen till MANUFROG. En besökare ska kunna skicka ett "vykort" med sig själv som avsändare och kompisen som mottagare.
Nu har jag ändrat så att PHP.INI så att jag kan läsa in själva texten för emailet och sedan ersätta vissa delar med unika texter för varje email (dvs FOPEN).
Hur ska jag ställa in för att kunna använda MANUFROGs server som SMTP? Får man skicka email på detta sätt?
Jag har skapat ett speciellt emailkonto för detta ändamål (ecard@mindomän.com). Nu får jag felmeddelande när jag försöker att skicka email (från sender@test.com till receiver@test.com) och dessa visas på websidan:
sender@test.comreceiver@test.com
Warning: fsockopen() [function.fsockopen]: unable to connect to mail.mindomän.com:25 (Connection timed out) in /home/mittkonto/public_html/phpinclude/class.smtp.php on line 105
Message was not sent
Mailer Error: Language string failed to load: connect_host
Warning: fsockopen() [function.fsockopen]: unable to connect to mail.mindomän.com:25 (Connection timed out) in /home/mittkonto/public_html/phpinclude/class.smtp.php on line 105
Message was not sent
Mailer Error: Language string failed to load: connect_host
(Koden visas nederst i mitt inlägg)
Vad kan felet vara? Går det att göra på detta sätt överhuvudtaget eller är det spärrat? Är jag på rätt väg?
php.ini finns på roten (www.mindomän.com) och i www.mindomän.com/web/e-card/
PHPMAILER finns inlagt på www.mindomän.com/include/
PHPMAILER finns inlagt på www.mindomän.com/include/
På SUPPORTSIDAN står bland annat:
(Våra servrar har även port 26 öppen för utgående e-post (smtp).)
Adresserna till ManuFrog Webbhotell är:
SMTP-server: mail.dindomän.com (ändras till tex. ”smtp.bredband.net” om du har bredband från dom – eller testa med port 26)
POP3-server: mail.dindomän.com
Användarnamnet på de e-post konton Du skapar, tex. olle@dindomän.com, blir alltid i formen olle@dindomän.com eller olle+dindomän.com. Det är alltså det Du ska fylla i som användarnamn i Din e-postklient. Obs! För att kunna skicka e-post måste autentisering användas!
SSL är installerat på servern, vilket gör att man även kan logga in med säker anslutning. För pop3 (inkommande) används port 995 och för SMTP (utgående) används port 465. Tänk på att om Du vill kunna skicka epost med SSL måste Du byta ut ”mail.mindomän.se” till serverns namn där Ditt konto/domän finns på – tex. ”manu1.manufrog.com”. Maila oss om Du är osäker på detta så hjälper vi Dig.
Om jag förstår det rätt så använder PHPMAILER sig av SENDMAIL och i inställningsfilerna pekas sökvägen ut korrekt "/usr/sbin/sendmail" eller ska jag ha "/usr/sbin/sendmail -t -i" (rad 115 i phpmailer.php)
Nedan i min kod används:
$mail->SMTPAuth = false;
vilket borde nog borde ändras - eller? Men hur får jag användarnamn, lösenord och emailadressen?
Koden jag använder är:
$INCLUDE_DIR = "/home/mittkonto/public_html/phpinclude/"; require($INCLUDE_DIR."class.phpmailer.php"); $mail = new PHPMailer(); $toAddress = $_GET['toAddress']; $message = $_GET['message']; $fromAddress = $_GET['fromAddress']; $ecard_pic = $_GET['ecard_pic']; $fromName = $_GET['fromName']; $file = "mail.txt"; $eCardSubject = $fromName." has sent You a postcard from mindomän.com"; $copySubject = "Copy of e-card You sent to: ".$toAddress; $fh = fopen($file, 'r'); $theData = fread($fh, filesize($file)); fclose($fh); print($fromAddress); $theData = str_replace("<#FROM_NAME#>", $fromName, $theData); $theData = str_replace("<#TO_ADDRESS#>", $toAddress, $theData); $theData = str_replace("<#MESSAGE#>", $message, $theData); $theData = str_replace("<#FROM_ADDRESS#>",$fromAddress, $theData); $theData = str_replace("<#ECARD_PIC#>",$ecard_pic, $theData); // --------------------------------------------------- $mail->IsSMTP(); // send via SMTP $mail->Host = "mail.mindomän.com"; // SMTP servers $mail->SMTPAuth = false; // borde nog ändras... $mail->From = $fromAddress; $mail->FromName = $fromName; $mail->AddAddress($toAddress); $mail->IsHTML(true); // send as HTML $mail->Subject = $eCardSubject; $mail->Body = $theData; echo $toAddress; if(!$mail->Send()) { echo "Message was not sent <p>"; echo "Mailer Error: " . $mail->ErrorInfo; exit; } header("Location: http://" . $_SERVER['HTTP_HOST'] . "thanks.htm");
Jag har själv andra formulär på min egen domän som använder SENDMAIL där motsvarande fungerar (dvs avsändare och mottagare är inte inom domänen minprivatadomän.com) men där får jag emailen som TEXT och inte som HTML. Jag misstänker att jag måste lägga till lite, men har itne testat detta ännu.
// K
Bifogad fil(er)
-
class.phpmailer.php (45,89K)
Antal nerladdningar: 1 -
class.smtp.php (33,76K)
Antal nerladdningar: 1