标签: zend-mail

Zend Mailer错误"From header set two"

我的问题基于Zend Mail

我有一个扩展Zend Mail的类.基本上它应该在注册时向用户发送两封不同的邮件.

它有两个函数sendRegistrationMail和sendActivationMail,两个方法都使用在构造函数中初始化的相同传输.

调用两个函数sendRegistrationMail可以工作,但第二个函数给出了错误: **From Header Set Twice**

class Mailer_Register_SendMail extends Zend_Mail
{

    public $_config;
    public $_transport;
    public $_email;
    public $_fromEmail;
    public $_fromFullName;


    public function __construct($email)
    {
        parent::__construct();

        $this->_config=array('auth'=>'login','ssl'=>'tls','username'=>"$email",'password'=>'12345678','port'=>'25');
        $this->_transport=new Zend_Mail_Transport_Smtp('127.0.0.1',$this->_config);
        $this->_email=$email;
        $this->_fromEmail="administrator@rta.com";
        $this->_fromFullName="RTAsys.com";
    }



    public function sendRegistrationMail()

    {
        $emailmessage="<h3>Welcome to the Atanik Authorization</h3></br>".
                        "<p>You will soon receive your activation email as a separate message</p>";

                        $fromemail=$this->_fromEmail;
                        $fromfullname=$this->_fromFullName;
                        $to=$this->_email;
                        $subject="Welcome to RTA";

                        $this->setBodyHtml($emailmessage);
                        $this->setFrom($fromemail,$fromfullname);
                        $this->addTo($to);
                        $this->setSubject($subject);

                        try {
                        $this->send($this->_transport);

                        }
                        catch (Zend_Mail_Transport_Exception $ex)
                        {

                        }


    }

    public function sendActivationMail() …
Run Code Online (Sandbox Code Playgroud)

email zend-framework zend-mail

4
推荐指数
1
解决办法
4263
查看次数

如何预览Zend_Mail的HTML代码?

我正在通过Zend_Mail创建一个包含动态内容的简报,但是我想要针对W3C验证生成的HTML代码,有没有办法让整个电子邮件代码被发送,以便我可以获取验证?getBodyHtml函数没有正确返回代码,因为它添加了以下内容:<tr>=0D=0A=<td width=3D"100%">=0D=0A电子邮件.

html validation zend-framework zend-mail

4
推荐指数
1
解决办法
1189
查看次数

将Zend框架最小化到Zend_Mail?

可能重复:
使用没有实际框架的Zend Framework组件?

我只需要Zend Framework的Zend_Mail函数,但整个框架大小约为300MB.有没有办法将其简化为基础知识和Zend_Mail以节省一些磁盘空间?

php frameworks zend-framework zend-mail

4
推荐指数
1
解决办法
4022
查看次数

使用Zend_Mail + Zend_Mime在Zend Framework 2中创建HTML电子邮件

Zend框架更改了Zend_Mail对象,因此它不再使用setBodyHtml()方法来创建HTML电子邮件.

有谁知道如何使用ZF2邮件组件创建HTML电子邮件?到目前为止,我尝试过:

$html = new \Zend\Mime\Part($htmlText);
$html->type = \Zend\Mime\Mime::TYPE_HTML;
$html->disposition = \Zend\Mime\Mime::DISPOSITION_INLINE;
$html->encoding = \Zend\Mime\Mime::ENCODING_QUOTEDPRINTABLE;
$html->charset = 'iso-8859-1';

$body = new \Zend\Mime\Message();
$body->addPart($html);

$message = new \Zend\Mail\Message();
$message->setBody($body);
$message->addTo('myemail@com.com', 'User1');
$message->addFrom('myemail@com.com', 'User2');
$message->setSubject('Test');
Run Code Online (Sandbox Code Playgroud)

生成的电子邮件是:

MIME版本:1.0

内容类型:text/html; 字符集= ISO-8859-1

Content-Transfer-Encoding:quoted-printable

内容 - 处置:内联

来自:XYZ

上个月日志文件的报告= 0A = 09 = 09 = 09 = 0A = 09 =

=> 09 = 09 = 0A = 09 = 09 = 09 测试 = 0A = 09 = 09 = 09 = 0A = …

php html-email zend-mail zend-framework2

4
推荐指数
1
解决办法
2万
查看次数

为什么此邮件消息无法正确解码?

我有这个代码.它来自Zend Reading Mail示例.

$message = $mail->getMessage(1);

// output first text/plain part
$foundPart = null;
foreach (new RecursiveIteratorIterator($mail->getMessage(1)) as $part) {
    try {
        if (strtok($part->contentType, ';') == 'text/plain') {
            $foundPart = $part;
            break;
        }
    } catch (Zend_Mail_Exception $e) {
        // ignore
    }
}
if (!$foundPart) {
    echo 'no plain text part found';
} else {
    echo $foundPart->getContent();
}
Run Code Online (Sandbox Code Playgroud)

我能得到的是消息,它运作正常.但是尝试将消息解码为可读的东西是行不通的.我已经尝试过Zend_Mime,imap_mime和iconv而没有运气.

这是我得到的一个例子 $foundPart->getContent();

Hall = F3 heim = FAr

它应该说"Hallóheimúr"

我想要的只是一些图书馆,我可以在实践中"按下按钮,接收培根".我的意思是,我只想将库指向POP3电子邮箱,并以可读的形式(没有任何编码问题)和附件获取电子邮件.

imap_mime_header_decode()给我一个包含相同数据的数组.
iconv_ mime_ decode()是一样的

有没有人知道为什么会发生这种情况或某些我可以抽象出来的库(PHP/Python或Perl)

php email mime zend-framework zend-mail

3
推荐指数
1
解决办法
4214
查看次数

使用gmail SMTP的Zend电子邮件

我正在尝试使用gmail SMTP发送电子邮件.以下是我的代码.

$mail = new Zend_Mail();
$config = array(
            'ssl'      => 'ssl',
            'port'     => '465',
            'auth'     => 'login',
            'username' => 'username@gmail.com',
            'password' => 'mypassword'
        );

$transport = new Zend_Mail_Transport_Smtp('smtp.gmail.com', $config);
$sendNow   = $mail->setBodyHtml($message)
                  ->setFrom('username@gmail.com', 'abc def')
                  ->addTo($recipient)
                  ->setSubject($subject)
                  ->send($transport);
Run Code Online (Sandbox Code Playgroud)

但是发生以下错误.怎么能完成它?

Fatal error: Uncaught exception 'Zend_Mail_Protocol_Exception' with message 'Unable to find the socket transport 'ssl' - did you forget to enable it when you configured PHP?' in Implementation\trunk\webapp\library\Zend\Mail\Protocol\Abstract.php:277

php zend-framework zend-mail

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

如何将电子邮件标记为重要?

我正在使用PHP和Zend-Framework来创建电子邮件.如何将电子邮件标记为重要?Outlook将显示红色"!" 如果标记正确.

email zend-framework zend-mail

2
推荐指数
1
解决办法
1566
查看次数

Zend Framework:存储电子邮件模板的位置

我正在编写一个ZF应用程序,在某些操作发生时生成电子邮件,例如当用户注册时.我的默认邮件设置在Mail Resource插件中设置.

我的问题是,管理电子邮件模板的最佳方法是什么?它们可以是文本文件,.ini或代码本身.

在我看来,文本文件是最简单的,但我总是谨慎介绍另一种需要管理的文件类型.有没有人尝试过使用.ini?这是如何运作的?

zend-framework zend-mail

2
推荐指数
1
解决办法
522
查看次数

Zend_Mail ::有没有办法使用以下格式添加收件人:"Name <email>"?

我问的原因是因为我想有一个可编辑的字段,用户可以在其中输入电子邮件地址,也可以选择电子邮件地址持有者的姓名.谢谢!

php zend-framework zend-mail

1
推荐指数
1
解决办法
261
查看次数

如何从zend mail imap中提取内容?

我正在尝试编写一个脚本,在没有自定义标志的情况下下载某个文件夹中的所有邮件,现在让我们调用标志$ aNiceFlag; 在我收到邮件后,我想用$ aNiceFlag标记它.然而,在解决标志问题之前,我有一个问题是立即从邮件中提取我需要的内容.

这是我需要的信息:

  • 发件人(电子邮件和姓名,如果可能)
  • 学科
  • 接收器
  • 纯文本正文(如果只有html可用,我会尝试将其从html转换为纯文本)
  • 发送时间

我可以通过使用轻松获得主题$mailObject->subject.我正在查看Zend文档,但这对我来说有点混乱.

这是我现在的代码,我不应该回应内容,但这只是暂时的测试:

$this->gOauth = new GoogleOauth();
$this->gOauth->connect_imap();
$storage = new Zend_Mail_Storage_Imap(&$this->gOauth->gImap);
$storage->selectFolder($this->label);
foreach($storage as $mail){
    echo $mail->subject();
    echo strip_tags($mail->getContent());
}
Run Code Online (Sandbox Code Playgroud)

我正在使用谷歌oAuth访问邮件.$this->label是我想要的文件夹.它现在非常简单,但在使它变得复杂之前,我想弄清楚基本原理,例如将所有上面列出的数据提取到数组中的单独键中的合适方法.

php imap zend-framework zend-mail

0
推荐指数
1
解决办法
3709
查看次数