我正在使用PHP Mailer发送电子邮件,而我正在使用SMTP
这是我正在使用的代码:
$email = new PHPMailer();
$email->IsSMTP(); // telling the class to use SMTP
$email->Host = "mail.integradigital.co.uk"; // SMTP server
$email->SMTPDebug = 2; // enables SMTP debug information (for testing)
// 1 = errors and messages
// 2 = messages only
$email->SMTPAuth = true; // enable SMTP authentication
$email->Host = "mail.integradigital.co.uk"; // sets the SMTP server
$email->Port = 26; // set the SMTP port for the GMAIL server
$email->Username = "sending@************.co.uk"; // SMTP account username
$email->Password = "********"; // SMTP account password
$email->SetFrom($result["emailfrom"]);
$email->FromName($result["emailfrom"]);
$email->Subject = $result["subject"];
$email->Body = $result["message"];
但它从 Root用户 - root @ localhost
发送和显示我知道我可以在class.phpmailer.php文件中更改它,但我希望能够在上面的代码中设置它
这可能吗?
答案 0 :(得分:12)
好的,简而言之:
$email->From = "email.address@gmail.com";
$email->FromName = "Support Team";
这对我有用。
答案 1 :(得分:8)
将整个东西包裹起来。并在启用异常的情况下初始化phpmailer
$email = new PHPMailer(true);
看起来使用了默认值。所以在致电setFrom()
时会出现问题。并且它无声地失败,因为它在没有启用异常的情况下返回false
。
try {
// your mail code here
} catch (phpmailerException $e) {
echo $e->getMessage();
}
并将电子邮件的设置更改为:
$email->setFrom($result["emailfrom"], $result["emailfrom"]);
FromName
是属性而不是方法。
答案 2 :(得分:2)
class.phpmailer.php文件包含“ var $ FromName ='Root User';”可以从“根用户”更改为“所需名称”部分,并完成您的工作。
答案 3 :(得分:1)
当您收到1. 电子邮件和2. 名称时,它应该位于表单中
<input type="text" name="emailfrom">
<input type="text" name="namefrom">
在您的php代码中,它应该看起来像这样。
$mail->setFrom($_POST['emailfrom'],$_POST['namefrom']);
当我在infinityhost上使用这些设置时遇到同样的问题,希望对您有所帮助。
$mail->Port = 587; // Which port to use, 587 is the default port for TLS security.
$mail->SMTPSecure = 'tls'; // Which security method to use. TLS is most secure.```
答案 4 :(得分:0)
当我只将setFrom()
的第一个参数发送为name <email>
时,我遇到了这个问题。
setFrom()
不知道如何解析这种结构。
更改为两个单独的参数解决了问题。
答案 5 :(得分:0)
对于PHPMailer版本:5.1
这对我有用:
$mail->SetFrom('no-reply@example.com', 'Name From');
希望它能起作用。
答案 6 :(得分:-1)
使用:
$mail->setFrom('here email add of sender','here name of the sender');
第一个参数是电子邮件地址,如果它为空或不是有效的电子邮件地址,则在使用php mailer发送邮件时将以ROOT用户身份显示