标签: swiftmailer

使用SwiftMailer和PHP检索附加到电子邮件的文件名

昨天我问了这个问题并得到了建议,并使用了它,但是由于某些原因它没有用。因此,我需要检索用户从HTML表单上载到服务器的文件的名称。我需要将此文件附加到PHP / SwiftMailer发送的电子邮件中。这是我的代码,文件上传部分:

    //File upload

// Where the file is going to be placed 
$target_path = "uploads/";

// Add the original filename to our target path.  
//Result is "uploads/filename.extension" 
$target_path = $target_path . basename( $_FILES['uploadedfile']['name']);

if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
    echo "The file ".  basename( $_FILES['uploadedfile']['name']). 
    " has been uploaded";
} else{
    echo "There was an error uploading the file, please try again!";
}   

//End of file upload
Run Code Online (Sandbox Code Playgroud)

这是文件附加部分:

//Create the attachment
$attachment = Swift_Attachment::fromPath($_FILES['uploadedfile']['tmp_name']);
Run Code Online (Sandbox Code Playgroud)

为什么不从服务器获取文件?这是错误消息,它似乎正在尝试在错误的目录中查找文件:

警告:fopen(/ tmp / phpHJdw0H)[function.fopen]:无法打开流:/home/myserver/mydomain.com/Hawaii/html/swift-mailer/lib/classes/Swift/ByteStream中没有此类文件或目录/FileByteStream.php行131上的致命错误:/home/myserver/mydomain.com/Hawaii/html/swift-mailer/lib中未捕获的异常'Swift_IoException',消息为'无法打开文件以读取[/ tmp / …

php swiftmailer

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

Symfony邮件程序:消息发送之间的Swift_TransportException

在我目前正在工作的当前项目中,我有一个symfony任务,它将一些海量数据插入数据库并运行至少半小时.当任务开始正确发送邮件通知时,问题是在执行任务时我们无法发送另一封邮件来通知处理结束.

邮件工厂当前配置了线程传送策略,但在这种特定情况下,我们希望使用sendNextImmediately()方法立即触发通知.

我正在获得例外:

[Swift_TransportException]
预期响应代码250但得到代码"451",消息"451 4.4.2超时 - 关闭连接.74sm1186065wem.17"

以及php日志文件中的流动错误:

警告:fwrite():SSL:第209行/var/www/project/lib/vendor/symfony/lib/vendor/swiftmailer/classes/Swift/Transport/StreamBuffer.php中的管道损坏

有人能帮忙吗?有什么方法可以刷新symfony邮件来建立新的连接?

symfony1 swiftmailer

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

Gmail是否允许发件人设置返回路径值以接收退回邮件?

我正在使用Swift Mailer检查退回邮件.我为退回邮件创建了一个单独的帐户,但是当我设置返回路径时,它不允许将退回邮件发送到该帐户.这是正常还是代码错误?

$verp = 'bounces-' . str_replace('@', '=', $row['ReplyTo']) . '@gmail.com';

$message = Swift_Message::newInstance()
  ->setSubject($row['Subject'])
  ->setFrom(array($row['ReplyTo'] => $row['FromName']))
  ->setReturnPath($verp)
  ->setBody($html, 'text/html')
  ->addPart($txt, 'text/plain');
Run Code Online (Sandbox Code Playgroud)

我现在正在使用VERP,它似乎是找到一个传递错误?但是不是要将邮件发送到退回邮件帐户?

php gmail swiftmailer bounce

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

使用swift的多部分电子邮件

在iPhone上,gpart上没有正确显示多部分消息.我有:

$message->setBody($this->body, 'text/html');
$message->addPart($this->text_body, 'plain/text');
Run Code Online (Sandbox Code Playgroud)

我也用过:

$message->addPart($this->body, 'text/html');
$message->addPart($this->text_body, 'plain/text');
Run Code Online (Sandbox Code Playgroud)

但在这两种情况下,当从iPhone上阅读gmail时,我得到的消息是"MIME附件"......没有HTML和MIME附件甚至无法读取.如果我不添加文本部分,该消息将显示正常...

有任何想法吗?

php swiftmailer

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

使用SwiftMailer将邮件添加到Send文件夹

我正在从swiftmailer.org使用SwiftMailer for PHP

一切运作良好,但我想知道是否有办法将发送的邮件从SwiftMailer发送的邮件帐户添加到已发送的文件夹中?

这就是全部,祝你有个美好的一天.

php email swiftmailer

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

Symfony2 SwiftMailer - 如何在不等待服务器响应的情况下发送电子邮件

我正在使用 swiftmailer 发送一封大约 300 BCC 的电子邮件。问题是,这样做时,我在客户端收到了 30 秒的超时。

在服务器端检查时,邮件发送正确,但发送所有这些电子邮件需要一些时间,因为邮件服务器处理大量电子邮件。

关于如何告诉 swiftmailer 不要等待服务器响应并呈现视图的任何想法。

我从 coockbook检查了如何假脱机电子邮件,但我不认为我需要这样做。

知道我怎么能这样做吗?先感谢您。

php email performance swiftmailer symfony

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

Swiftmailer Gmail 连接超时 #110

我想使用 gmail 的 smtp 和下面使用 Swiftmailer 发布的 PHP 脚本发送电子邮件。现在这在我自己的网络服务器上运行良好。但是当我在我为其创建它的人的网络服务器上使用它时,我得到了一个例外:

    Fatal error: Uncaught exception 'Swift_TransportException' with message 'Connection could not be established with host smtp.gmail.com [Connection timed out #110]' in ...
Run Code Online (Sandbox Code Playgroud)

可能是什么问题呢?我假设它与服务器设置的差异有关,因为代码在我自己的网络服务器上工作。我已经用 phpinfo() 检查了以下内容:

- Registered Stream Socket Transports   tcp, udp, unix, udg, ssl, sslv3, sslv2, tls
- OpenSSL support   enabled 
- OpenSSL Library Version   OpenSSL 1.0.1e-fips 11 Feb 2013 
Run Code Online (Sandbox Code Playgroud)

这是我的 PHP 代码:

    $emailname = MY_GMAIL_ACCOUNT_USERNAME;
    $emailpass = MY_GMAIL_ACCOUNT_PASSWORD;

    $transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, "ssl")
      ->setUsername($emailname)
      ->setPassword($emailpass);

    $mailer = Swift_Mailer::newInstance($transport);

    $message = …
Run Code Online (Sandbox Code Playgroud)

smtp swiftmailer

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

yii2:如何在邮件中呈现视图

我可以使用swiftmailer扩展程序发送邮件.我也可以从@ app/mail文件夹中包含视图文件.

现在我想知道如何为我的模型视图包含数据,例如说我有一个Model City.php和相关视图view.php或index.php(grid-view)我如何包含在视图中呈现的数据.邮件正文中的index.php中的php(单个记录)或表数据.

简而言之,我想在视图中包含yii2中呈现的默认数据或在邮件正文中包含索引.

嗨,我看过这样的例子 - Yii::$app->mailer->compose('viewName', ['variable' => $variable])

另一个例子 - Yii::$app->mailer->compose('contact/html', ['contactForm' => $form])

我这样尝试没有取得多大成功:

Yii::$app->mailer->compose('medicine-request-entry/html',['medicine_request_entry'=>$form])
Run Code Online (Sandbox Code Playgroud)

但我得到错误未定义的变量形式. medicie_request_entry是views文件夹中的文件夹.(不在@ app/views中)

但无法得到它.假设我在/ mail /子文件夹中的视图名称是report.php,我的视图中有一个文件夹subfoler/city /和city文件夹中有view.php和index.php我如何在示例中的参数中指定它码.

任何建议将不胜感激.

谢谢.

php email swiftmailer yii2

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

我可以在不发送电子邮件的情况下使用 SwiftMailer 对 SMTP 进行身份验证吗

我正在尝试使用 Laravel 中的 SwiftMailer 验证登录凭据。我需要在不实际发送电子邮件的情况下验证 SMTP 服务器的登录凭据。

我正在尝试做这样的事情:

$client = Swift_SmtpTransport::newInstance($smtpServer, $smtpPort, 'ssl');
$client->setUsername($this->smtpUser);
$client->setPassword($this->smtpPass);
$client->authenticate();
Run Code Online (Sandbox Code Playgroud)

没有authenticate()方法,Swift_SmtpTransport但如果有类似的东西我可以使用,那就太好了。

我在源代码中找不到合适的函数:https : //github.com/swiftmailer/swiftmailer/blob/master/lib/classes/Swift/Transport/AbstractSmtpTransport.php

有没有一种方法可以使用 SwiftMailer 在 SMTP 服务器上尝试验证身份验证而无需发送电子邮件?

php swiftmailer laravel

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

/tmp(或其他类似文件夹位置)是否有 symfony 值?

我有一个 Symfony 3.3 应用程序,它成功地发送了一封带有附件的电子邮件。相关函数如下所示:

private function sendEmail($data)
{
    $vgmsContactMail = self::contactMail;
    $mailer = $this->get('mailer');
    /* @var $uploadedFile UploadedFile */
    $uploadedFile = $data["attachment"];
    $extension = $uploadedFile->guessExtension();
    if(!in_array($extension, ['pdf','rtf']) ){
        die('Please upload a .pdf or .rtf file.');
    }
    $newFilePath = '/tmp';
    $newFileName = 'temporary' . rand(0,10000) . '.rtf';
    $uploadedFile->move($newFilePath, $newFileName);
    $attachment = \Swift_Attachment::fromPath('/tmp/' . $newFileName);
    $message = \Swift_Message::newInstance("VGMS Contact Form: ". $data["subject"])
        ->setFrom(array($vgmsContactMail => "Message by ".$data["name"]))
        ->setTo(array(
            $vgmsContactMail => $vgmsContactMail
        ))
        ->setBody($data["message"]."<br>ContactMail :".$data["email"])
        ->attach($attachment)
    ;
    return $mailer->send($message);
}
Run Code Online (Sandbox Code Playgroud)

我的问题是对/tmp目录进行硬编码感觉非常脆弱。 …

php filesystems swiftmailer symfony

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

标签 统计

swiftmailer ×10

php ×8

email ×3

symfony ×2

bounce ×1

filesystems ×1

gmail ×1

laravel ×1

performance ×1

smtp ×1

symfony1 ×1

yii2 ×1