[英]sending mail working locally but not in server
我已經搜索過了,這里沒有任何問題可以幫助我解決問題。
我必須在我正在工作的網站上發送電子郵件,該電子郵件在本地運行,但是當我嘗試在服務器上發送電子郵件時,它會給我致命錯誤。
編碼:
send_mail.js
$(function() {
$('.enviar').click(function(){
event.preventDefault();
$.ajax({
url: 'modules/send_mail.php',
type: 'POST',
data : {
nome : $('#nome').val(),
mail : $('#mail').val(),
assunto : $('#assunto').val(),
mensagem : $('#mensagem').val()
},
success: function (data) {
console.log(data);
},
error: function(xhr, textStatus, data) {
console.log(xhr.statusText);
console.log(textStatus);
console.log(data);
}
});
});
});
send_mail.php
<?
include_once ('../config.php');
$mail_to = "ricardo.ac.dc@gmail.com";
$nome = stripslashes(strip_tags($_POST['nome']));
$mail = stripslashes(strip_tags($_POST['mail']));
$assunto = stripslashes(strip_tags($_POST['assunto']));
$mensagem = stripslashes(strip_tags($_POST['mensagem']));
$texto = $nome ."(". $mail . ")\r\n";
$texto .= $mensagem;
mail ($mail_to,$assunto,$texto);
?>
form.php
<div class="form_contactos">
<div class="form_text">
<input name="nome" id="nome" placeholder=" nome" type="text" class="linha_simples"/>
<input name="mail" id="mail" placeholder=" e-mail" type="email" class="linha_simples"/>
<input name="assunto" id="assunto" placeholder=" assunto" type="text" class="linha_simples"/>
</div>
<textarea name="mensagem" id="mensagem" placeholder=" mensagem" class="caixa_texto"></textarea>
<input type="submit" name="enviar" class="submit_button enviar" id="enviar" value="" />
</div>
config.php
<?php
$ligacao = 'local';
if ($ligacao == 'server')
{
//Para ligar a SQL Server, utilizar PHP 5.2.6 (Wampserver 2C)
$servidor = "localhost";
$utilizador = "s002349_admin";
$password = "Torre2008";
$bd = "s002349_temp_almadados";
}
else
{
//Para ligar a SQL Server, utilizar PHP 5.2.6 (Wampserver 2C)
$servidor = "localhost";
$utilizador = "root";
$password = "root";
$bd = "almadados";
}
//Ligação à BD
$padrao = mysql_connect($servidor, $utilizador, $password)
or die("Erro ao ligar a $servidor");
//Selecção de BD a utilizar
$seleccao = mysql_select_db($bd, $padrao)
or die("Erro ao aceder a $bd");
?>
我收到的錯誤是此錯誤:
致命錯誤 :函數名稱必須是第26行的/home/s002349/public_html/almadados.net/new_site/modules/send_mail.php中的字符串
send_mail.js:22
誰能幫助我解決這個問題?
我想到了一些可行的方法...我將不得不在該站點上實現phplist ,所以我的想法是也要通過phplist發送此郵件,這樣可以解決我的問題嗎?
*我已經清除了send_mail.php上的所有空白行並清除了瀏覽器上的所有緩存,所以我不明白為什么它仍然顯示該行*
首先改變這個<?
為此<?php
,某些服務器不支持短標簽
如果npt有效,請嘗試更改以下內容:
mail ($mail_to,$assunto,$texto);
對此:
mail($mail_to,$assunto,$texto);
函數名稱和方括號之間有一個空格
更新
改變這個:
$padrao = mysql_connect($servidor, $utilizador, $password)
or die("Erro ao ligar a $servidor");
對此:
$padrao = mysql_connect($servidor, $utilizador, $password)
if (!$padrao)
{
die('Could not connect: ' . mysql_error());
}
$seleccao
變量$seleccao
這可能是因為服務器不支持短標簽。 我強烈建議您遠離這些。 替換<?
用<?php
嘗試更換
or die("Erro ao ligar a $servidor");
對於
if(!$padrao){die("Erro ao ligar a ".$servidor);}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.