标签: phpmailer

PHPMailer字符编码问题

我尝试使用PHPMailer发送注册,激活.邮件给用户:

require("class.phpmailer.php");
$mail -> charSet = "UTF-8";
$mail = new PHPMailer();
$mail->IsSMTP();  
$mail->Host     = "smtp.mydomain.org";  
$mail->From     = "name@mydomain.org";
$mail->SMTPAuth = true; 
$mail->Username ="username"; 
$mail->Password="passw"; 
//$mail->FromName = $header;
$mail->FromName = mb_convert_encoding($header, "UTF-8", "auto");
$mail->AddAddress($emladd);
$mail->AddAddress("mytest@gmail.com");
$mail->AddBCC('mytest2@mydomain.org', 'firstadd');
$mail->Subject  = $sub;
$mail->Body = $message;
$mail->WordWrap = 50;  
if(!$mail->Send()) {  
   echo 'Message was not sent.';  
   echo 'Mailer error: ' . $mail->ErrorInfo;  
}
Run Code Online (Sandbox Code Playgroud)

$messageIS包含拉丁字符.不幸的是,所有webmail(gmail,webmail.mydomain.org,emailaddress.domain.xx)都使用不同的编码.

如何强制使用UTF-8编码在所有邮箱上显示我的邮件完全相同?

我尝试转换邮件标题宽度mb_convert_encoding(),但没有运气.

php phpmailer

171
推荐指数
5
解决办法
24万
查看次数

Gmail SMTP调试:错误"请通过您的网络浏览器登录"

我遇到了gmail smtp服务器的问题.我已经在StackOverflow中阅读了很多关于该主题的帖子.

我发现关于测试连接的最好的帖子就是这个.

虽然很好地解释了我得到的错误但我找不到答案:Google SMTP只是说"请通过您的网络浏览器登录,然后再试一次".我完全确定密码和电子邮件(都在base64中)编码良好.

正如您在此处所见,在此图像中:

这个图片,

我可以注意到一个区别:user@gmail.com和密码分两步发送.在上面的链接中,该人同时发送两个.谷歌没有接受.但事实是,我写了auth登录Y29udGF0 ...(用户在base64,googles响应:) 334 UGFzc3dvcmQ6(意思是"密码:")YzQ2MjJmNWVi ....(在base64中粘贴我的密码并点击"输入")

然后Goggle说:请通过网络浏览器登录,然后重试.534-5.7.14了解更多信息,访问https://support.google.com/mail/bin/answer.py?answer=787

顺便说一下,那个页面是404.

我正在解决所有这些问题,因为@MediaTemple和@DreamHost不能与PHPMailer一起使用.很久以前,我已经在许多不同的主机中使用PHPMailer,使用SMTP但是使用(mt)和Dreamhost失败了.现在我正处于一个项目的中间,它必须<在这两个主机上工作.

smtp dreamhost mediatemple phpmailer smtp-auth

124
推荐指数
6
解决办法
17万
查看次数

require(vendor/autoload.php):无法打开流

我知道这个问题已被多次发布,但对我来说这似乎是一个不同的问题.

的确,这个错误

警告:require(vendor/autoload.php):无法打开流:第3行的C:\ xampp\htdocs\site_web\send_mail.php中没有此类文件或目录

致命错误:require():在第3行的C:\ xampp\htdocs\site_web\send_mail.php中打开所需的'vendor/autoload.php'(include_path ='C:\ xampp\php\PEAR')失败

出现在我的代码开头的这一行:

require 'vendor/autoload.php';
Run Code Online (Sandbox Code Playgroud)

所以,我想我的电脑里必须有一个/vendor/autoload.php文件(我已经安装了composer并运行composer require phpmailer/phpmailer).

于是,我找了使用此文件:dir /s autoload.php在Windows命令行,发现这里什么人C:\Windows\SysWOW64\vendor\autoload.php,

但对我来说,使用autoload.php没有看到syswow64文件夹,我没有看到我在这里缺少什么.

phpmailer composer-php

94
推荐指数
8
解决办法
31万
查看次数

配置WAMP服务器以发送电子邮件

有没有办法可以为PHP 配置WAMP服务器以启用该mail()功能?

php wamp phpmailer

93
推荐指数
3
解决办法
14万
查看次数

PHP邮件程序多个地址

可能重复:
PHPMailer AddAddress()

这是我的代码.

require('class.phpmailer.php');
$mail = new PHPMailer();

$email = 'email1@test.com, email2@test.com, email3@test.com';

    $sendmail = "$email";

    $mail->AddAddress($sendmail,"Subject");
    $mail->Subject = "Subject"; 
    $mail->Body    = $content;      

    if(!$mail->Send()) { # sending mail failed
        $msg="Unknown Error has Occured. Please try again Later.";
    }
    else {
        $msg="Your Message has been sent. We'll keep in touch with you soon.";
    }   
}

问题
如果$ email值只有1.它会发送.但是多个不发送.我该怎么做呢 我知道在邮件功能中你必须用逗号分隔多个电子邮件.但不能在phpmailer中工作.

php phpmailer

80
推荐指数
1
解决办法
24万
查看次数

通过PHP邮件程序使用Gmail SMTP服务器发送电子邮件

我想通过PHP邮件程序使用Gmail SMTP服务器发送电子邮件.

这是我的代码

<?php
require_once('class.phpmailer.php');

$mail = new PHPMailer();
$mail->IsSMTP();
$mail->CharSet="UTF-8";
$mail->SMTPSecure = 'tls';
$mail->Host = 'smtp.gmail.com';
$mail->Port = 587;
$mail->Username = 'MyUsername@gmail.com';
$mail->Password = 'valid password';
$mail->SMTPAuth = true;

$mail->From = 'MyUsername@gmail.com';
$mail->FromName = 'Mohammad Masoudian';
$mail->AddAddress('anotherValidGmail@gmail.com');
$mail->AddReplyTo('phoenixd110@gmail.com', 'Information');

$mail->IsHTML(true);
$mail->Subject    = "PHPMailer Test Subject via Sendmail, basic";
$mail->AltBody    = "To view the message, please use an HTML compatible email viewer!";
$mail->Body    = "Hello";

if(!$mail->Send())
{
  echo "Mailer Error: " . $mail->ErrorInfo;
}
else
{ …
Run Code Online (Sandbox Code Playgroud)

php gmail smtp phpmailer

75
推荐指数
4
解决办法
35万
查看次数

使用phpMailer和PHP从表单发送文件附件

我有一个表格example.com/contact-us.php就像这样(简化):

<form method="post" action="process.php" enctype="multipart/form-data">
  <input type="file" name="uploaded_file" id="uploaded_file" />
  <input type="hidden" name="MAX_FILE_SIZE" value="10000000" />
</form>
Run Code Online (Sandbox Code Playgroud)

在我的process.php文件中,我使用以下代码PHPMailer()发送电子邮件:

require("phpmailer.php");

$mail = new PHPMailer();

$mail->From     = me@example.com;
$mail->FromName = My name;
$mail->AddAddress(me@example.com,"John Doe");

$mail->WordWrap = 50;
$mail->IsHTML(true);

$mail->Subject  =  "Contact Form Submitted";
$mail->Body     =  "This is the body of the message.";
Run Code Online (Sandbox Code Playgroud)

电子邮件正确发送正文,但没有附件uploaded_file.

我的问题

我需要将uploaded_file表单中的文件附加到电子邮件中,然后发送.process.php脚本在电子邮件中发送文件后,我不关心保存文件.

我知道我需要在AddAttachment();某处添加(我假设在线下Body)以便发送附件.但...

  1. 我在process.php文件的顶部放入什么来拉入文件uploaded_file?喜欢使用$_FILES['uploaded_file']从contact-us.php页面提取文件的东西?
  2. 内部发生的事情AddAttachment();对文件进行连接,并与邮件一起发送并在这段代码需要去?

请帮忙并提供代码!谢谢!

php file-upload phpmailer email-attachments

67
推荐指数
2
解决办法
18万
查看次数

PhpMailer与SwiftMailer?

我正在构建一个相当简单的PHP脚本,需要发送一些附件的电子邮件.我找到了这两个库来做到这一点.两者都有明显优势吗?或者我应该随机选择一个并完成它?

php email attachment phpmailer swiftmailer

58
推荐指数
6
解决办法
4万
查看次数

PHPMailer - SMTP ERROR:从我的服务器发送邮件时密码命令失败

我已经使用phpmailer()概念使用php脚本从我的共享服务器向用户发送邮件,但是根据phpmailer代码,即使我的脚本中的所有内容都正确,我也无法发送.

我的代码是这样的:

  $message = " This is testing message from my server";

  $mail = new PHPMailer(); // create a new object
  $mail->IsSMTP(); // enable SMTP
  $mail->Host = "smtp.gmail.com";
  $mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only
  $mail->SMTPAuth = true; // authentication enabled
  $mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for GMail
  $mail->Port = 465; // or 587
  $mail->IsHTML(true);
  $mail->Username = "moorthi.mrk10@gmail.com"; // My gmail username
  $mail->Password = "************"; // My Gmail Password
  $mail->SetFrom("moorthi.mrk10@gmail.com"); …
Run Code Online (Sandbox Code Playgroud)

php email smtp phpmailer

52
推荐指数
5
解决办法
9万
查看次数

phpmailer:仅使用"回复"地址回复

我在我的网站上使用phpmailer并帮助解决垃圾邮件问题我创建了一个邮箱来发送这些电子邮件(使用SMTP).

我已经设置了电子邮件来该邮箱地址,然后我添加了一个答复解决了,我想的答复去:

$mail = new PHPMailer();

$mail->IsSMTP();
$mail->SMTPAuth   = true;
$mail->SMTPSecure = 'tsl';
$mail->SMTPDebug  = 1;
$mail->Host       = EMAIL_HOST;
$mail->Port       = EMAIL_PORT;
$mail->Username   = EMAIL_USER;
$mail->Password   = EMAIL_PASS;

$mail->SetFrom('mailbox@email.com', 'Mailbox name');
$mail->AddReplyTo('replyto@email.com', 'Reply to name');
$mail->AddAddress('user@email.com', 'User name);
Run Code Online (Sandbox Code Playgroud)

电子邮件发送成功,似乎可以通过垃圾邮件过滤器,但是当我按回复时,它包括邮箱帐户和帐户回复.

这是什么意思发生?我只想按回复时出现回复地址.这甚至可能吗?

非常感谢您提供的任何帮助!


编辑:

查看电子邮件标题,似乎来自地址的内容将包含在回复字段中.我不知道为什么!

Date: Tue, 1 May 2012 11:16:25 +0100
To: User name <user@email.com>
From: Mailbox name <mailbox@email.com>
Reply-to: Mailbox name <mailbox@email.com>, Reply to name <replyto@email.com
Subject: Email subject
Message-ID: <54c530c0d1f3ff33fc87c4c41c2c9ffd@localhost>
X-Priority: 3
X-Mailer: …
Run Code Online (Sandbox Code Playgroud)

php phpmailer

50
推荐指数
2
解决办法
10万
查看次数