PHP를 사용하여 메일을 보내려고합니다.
하지만 작동하지 않습니다. 나는 IT 선생님, 내가 아는 몇 안되는 IT 괴상한 사람들, 직장의 대학들과 접촉했지만 그들은 모두 나를 도울 수 없었다. 나는 이것에 관해 stackoverflow에 관한 많은 질문이 이미 있다는 것을 알고있다. 그래서 나는 이것을 게시하기 위해 오랫동안 기다렸다. 하지만 필자는 PHP의 mail() 함수에 대한 모든 질문을 살펴 보았지만 아무도 내 문제를 해결하지 못했습니다. 나는 절망적이다.
PHP를 사용하여 메일 보내기가 작동하지 않습니다.
메일 작성에 내 코드를 사용하면 작동하지 않지만 일반 텍스트 기능 만 사용하면 작동하지 않는 것이 있습니다. 그래서 그 문제는 서버 측이어야한다고 생각했습니다. 나는 one.com (내 웹 사이트가 열리는 곳)에 연락했지만 도움을 줄 수 없었다. 그들은 mail() 함수가 작동해야한다고 말했다.
Sushant : 그들은 나에게이 주셨 는가 - 메일 호스트 : mailout.one.com를
Sushant : - 포트 : 25
Sushant : - 인증 : 없음/거짓
Sushant : - 보안 : 없음/거짓
Sushant : - 사용자 이름 : 도메인의 이메일 계정 eg [email protected]
Sushant : - 암호 : 전자 메일 계정의 암호가
나는이 정보를 어떻게 해야할지 모르겠어요. ini_set() 함수를 사용하여 php.ini 파일 ( mail.add_x_header, mail.log, SMTP, smtp_port, sendmail_from, sendmail_path)의 일부 내용을 편집하려고했습니다. 또한 내 문제를 해결하지 못했습니다.
내 전체 코드 :
(네덜란드의 언어에 대한 죄송)이 전혀 아무것도하지 않는
$onderwerp = "E-mail adres controlleren";
$bericht ="
U bent succesvol geregistreerd bij theovisser.com.<br>
Nu kunt u alle verstuurde nieuwsbrieven lezen. Ook kunt u<br>
nieuwe nieuwsbrieven meteen zien, nog voordat ze bij op op de mat liggen!<br><br>
Om uw account te activeren moet u alleen nog wel de onderstaande code<br>
invoeren.<br>
E-mail code: " .$_SESSION['controle_code']. "<br><br>
Groeten,<br>
Samuël Visser
";
// Regels in berichten mogen nooit langer zijn als 70 caracters (PHP regel).
// Hiermee worden alle regels die langer als 70 caracters zijn ingekort.
$bericht = wordwrap($bericht, 70);
// Verstuur de mail
if(!isset($_SESSION['mail_verstuurd']))
{
if(mail($email,$onderwerp,$bericht)){
echo 'Er is een mail verstuurd naar uw adres.<BR><BR>';
$_SESSION['mail_verstuurd']='true';
}else{
echo 'Het versturen van de mail is mislukt.<BR><BR>';
}
}
.
그리고는이 너무 작동하지 않는다는 것입니다 이상한 :
mail('[email protected]','test','dit is een test');
너희들은 내 문제를 해결할 수 있습니까? 나는 내가 뭘 잘못하고 있는지 정말로 모른다.
편집 :
이
2014년 11월 4일 13시 27분 48초 연결 : 개방 mailout.one하는 PHPMailer의 libary를 사용하는 @ojovirtual에서 제안 사용은
, 나는 다음과 같은 오류가 발생했습니다 .com : 25, t = 300, opt = array() 2014-11-04 13:28:10 SMTP 오류 : 서버에 연결하지 못했습니다 : 연결된 당사자가 일정 기간 후에 제대로 응답하지 않아 연결 시도가 실패했습니다. 연결 호스트가으로 응답하지 않았으므로 시간이 이미 설정되었거나 연결이 실패했습니다. (10060) 2014-11-04 13:28:10 SMTP connect()가 실패했습니다. 메시지를 보낼 수 없습니다. 메일 오류 : SMTP 연결()이 실패했습니다.
오류의 기울임 꼴 텍스트는 네덜란드어로 영어로 번역되었습니다. 원래 영어 번역과 조금 다를 수 있습니다.
이 내가 one.com에서 가져온 데이터를 다음 내가 사용하는 설정은 다음과 같습니다
require($main .'PHPMailer-master/PHPMailerAutoload.php');
$mail = new PHPMailer;
$mail->SMTPDebug=3;
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = 'mailout.one.com'; // Specify main and backup SMTP servers
$mail->SMTPAuth = false; // Enable SMTP authentication
$mail->Username = '[email protected]'; // SMTP username
$mail->Password = 'won't show that here :)'; // SMTP password
$mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 25; // TCP port to connect to
$mail->From = '[email protected]';
$mail->FromName = 'Samuël Visser';
$mail->addAddress('[email protected]', 'Sammie gast'); // Add a recipient
//$mail->addAddress('[email protected]'); // Name is optional
//$mail->addReplyTo('[email protected]', 'Information');
//$mail->addCC('[email protected]');
//$mail->addBCC('[email protected]');
$mail->WordWrap = 50; // Set word wrap to 50 characters
//$mail->addAttachment('/var/tmp/file.tar.gz'); // Add attachments
//$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // Optional name
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = 'Here is the subject';
$mail->Body = 'This is the HTML message body <b>in bold!</b>';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent';
}
나는 PHPMailer 페이지에 추천 코드를 사용했다.
도움 주셔서 감사합니다.
메일을 보내기 전에 SMTP 서버에 로그인해야 할 수도 있습니다. [PHPMailer] (https://github.com/PHPMailer/PHPMailer)를 사용하는 것이 좋습니다. – ojovirtual
메일에 '헤더'추가 –
헤더는 선택 사항입니다. 맞습니까? SMTP 서버에 로그인하는 데 아무 것도하지 않았으므로 모두가 필요 없다고했습니다. 하지만이 libary, 감사합니다 –