[英]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.