标签: mime

Laravel 文件类型验证无法识别的文件类型

我正在尝试像这样验证 Laravel 中的文件类型:

'rules' => ['mimes:pdf,bdoc,asice,png,jpg']
Run Code Online (Sandbox Code Playgroud)

验证适用于pdfpng和,jpg但不适用于bdocasice文件(具有这些扩展名的文件未通过验证)。

我的猜测是,它可能不适用于这些文件类型,因为它们不包含在此处显示的 MIME 类型中: https: //svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime .types

我的这个假设正确吗?如果是这样,我如何验证这些文件类型?

php mime laravel

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

如何增加 Email::MIME 中标头的长度?

我用来Email::MIME生成电子邮件。我可以使用以下方法生成标头:

$email->header_str_set('some-label', @my-array);
Run Code Online (Sandbox Code Playgroud)

问题是,如果输出超过 70 个字符,它会将结果分成 2 或 3 行。我需要它在一行中。

我查看了Email::MIME文档,发现:

... header_str 参数是要包含在消息中的标头对列表。每对的值应为将根据需要进行 MIME 编码的文本字符串。或者,它可以是具有 as_mime_string 方法的对象,该方法实现该对象到 MIME 编码字符串的转换。使用两个命名输入参数调用该对象方法:charset 和 header_name_length

我查了很多,但没有找到如何改变这个变量的值。

有任何想法吗?

我尝试过使用类似的东西:

$email->header_name_length_set(100);
Run Code Online (Sandbox Code Playgroud)

但它说无法定位对象方法。

email perl mime

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

图像的常见文件扩展名的正则表达式是什么样的?

我开始制作这样的图像就像小缩略图一样.

但我需要一个正则表达式来检查它是否包含 *.jpg, *.jpeg, .*png, *.gif

怎么能这样做?

php regex mime file-upload mime-types

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

在PHP中,如何发送带附件的HTML电子邮件?

我有一个表单发送给自己,并允许人们附加文件.但我似乎无法在邮件中允许HTML.我想我需要两种不同的内容类型:

        $to     = "my@email.com"; // Webmaster
        $subj   = "Great Subject";
        $message = strip_tags($_POST['message']);
        $attachment = chunk_split(base64_encode(file_get_contents($_FILES['attachment']['tmp_name'])));
        $filename = $_FILES['attachment']['name'];
        $boundary =md5(date('r', time())); 
        $headers = "From: $fname $lname <$email>\r\nReply-To: $fname $lname <$email>";
        $headers .= "\r\nMIME-Version: 1.0\r\nContent-Type: multipart/mixed; boundary=\"_1_$boundary\"";
        $message .= "Here is your <strong>File</strong>.".\r\n" ;
        $message .= "This is a multi-part message in MIME format.

--_1_$boundary
Content-Type: multipart/alternative; boundary=\"_2_$boundary\"

--_2_$boundary
Content-Type: text/plain; charset=\"iso-8859-1\"
Content-Transfer-Encoding: 7bit

$message

--_2_$boundary--
--_1_$boundary
Content-Type: application/octet-stream; name=\"$filename\" 
Content-Transfer-Encoding: base64 
Content-Disposition: attachment 

$attachment
--_1_$boundary--";

        mail($to, $subj, $message, $headers);
Run Code Online (Sandbox Code Playgroud)

html php email mime content-type

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

使用Python读取存储在文本文件中的MIME消息

我有一个存储在'text/plain'文件中的MIME消息,如下所示:

http://pastebin.com/sPWWC9LL

MIME消息应该是多部分消息.

我如何在Python中解析这个?我已经尝试过email.message_from_string(),但它仍然编码为'text/plain',因此我无法使用电子邮件库来解析它.

我的代码看起来像这样:

f = open(settings.MEDIA_ROOT + '/raw.txt', 'r')
msg = email.message_from_string(f.read())
i = 1

for part in msg.walk():
    if part.get_content_maintype() == 'multipart':
        continue

    ext = mimetypes.guess_extension(part.get_content_type())
    filename = 'part-%03d%s' % (i, ext)

    fp = open(settings.MEDIA_ROOT + '/' + filename, 'wb')
    fp.write(part.get_payload(decode=True))
    fp.close()
    i += 1
Run Code Online (Sandbox Code Playgroud)

我会非常感谢任何帮助!

python mime

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

带有MIME版本的php电子邮件头:1.0

我有这些代码行:

        $from = "email@domian.com";
        $headers = "From:" . $from;
        $headers .= "MIME-Version: 1.0\r\n";
        $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
Run Code Online (Sandbox Code Playgroud)

我需要MIME类型,因为我使用file_get_contents作为html文件,我的问题是在它显示为"email@domain.comMIME-Version:1.0"的标题下,我只想说"email@domain.com"如何从标题中显示的内容中取出MIME类型?

谢谢

php email mime header

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

使用perl发送包含文件附件的multipart text/html替代消息,

我正在忙着编写一个脚本,用于创建带有多部分替代部件和附件的电子邮件.现在一切似乎都正常工作,除了普通附件,它们似乎无法在Gmail或雅虎网络邮件中下载,我的所有内联图像都可用,但如果我附加任何内容,无论是简单的.txt文件还是pdf它们都是无法下载,我已将处置设置为附件..我可以在邮件中看到它.以下是我如何去做.还有什么我应该做的吗?

 my    $ent = MIME::Entity->build(From      => $from,
                             To             => $to,
                             Type           => "multipart/alternative",
                             'X-Mailer'     => undef);
if ($plain_body)
{
    $ent->attach(
    Type            => 'text/plain; charset=UTF-8',
    Data            => $plain_body,
    Encoding        => $textEnc,
  );
}

 $ent->attach(Type => 'multipart/related');
 $ent->attach(
    Type            => 'text/html; charset=UTF-8',
    Data            => $content,
    Encoding        => $htmlEnc,
  );


 if ($count != 0) {
 for my $i (0..$count-1){
 $ent->attach(Data        => $attachment[$i],
             Type         => $content_type[$i],
             Filename     => $attname[$i],
             Id           => $cid[$i],
             Disposition  => $disposition[$i],
             Encoding     => $encoding[$i]);
  }
Run Code Online (Sandbox Code Playgroud)

//// \在Yahoo或Gmail webmail中看不到的附件..

------------=_1371465849-18979-0
Content-Type: …
Run Code Online (Sandbox Code Playgroud)

email perl mime email-attachments

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

PHP发送的电子邮件中显示的HTML问题

我正在使用Pear PHP邮件库发送HTML电子邮件(主要是发送到hotmail).我正在解决CSS正常运行的问题.在收到消息时,CSS位于消息正文中,并且不应用样式.

代码如下:

$message = "<!DOCTYPE html>

<html>
<head>
<style>
        body {
    font:12px/1.4em Verdana, sans-serif;
    color:#333;
    background-color:#fff;
    width:700px;
    margin:50px auto;
    padding:0;
}

a {
    color:#326EA1;
    text-decoration:underline;
    padding:0 1px;
}

a:hover {
    background-color:#333;
    color:#fff;
    text-decoration:none;
}

div.header {
    border-bottom:1px solid #999;
}

div.item {
    padding:5px 0;
    border-bottom:1px solid #999;
}  
</style>
</head>
    </body>";

// PARSE    
    $limit = 9;
    for($x=0;$x<$limit;$x++) {
        $title = str_replace(' & ', ' &amp; ', $news[$x]['title']);
        $link = $news[$x]['link'];
        $description = $news[$x]['desc'];
        $date = date('d-m-Y', strtotime($news[$x]['date']));
        $message .= …
Run Code Online (Sandbox Code Playgroud)

html css php pear mime

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

如何在 python 2 中将正文添加到多部分电子邮件中?

我使用 python 2 成功发送带有附件的邮件。但邮件仍然没有正文内容。

有人可以告诉我如何添加正文以及附件和主题吗?

我当前的代码是:

import smtplib, os
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email import Encoders
from email.mime.text import MIMEText


SUBJECT = "Email Data"
emaillist=['xyz@hotmail.com']
msg = MIMEMultipart('mixed')
msg['Subject'] = 'SUBJECT '
msg['From'] = 'abc@gmail.com'
msg['To'] = ', '.join(emaillist)



part = MIMEBase('application', "octet-stream")

part.set_payload(open('C:'+os.sep+'Desktop'+os.sep+'temp1.txt', `"rb").read())`
Encoders.encode_base64(part)

part.add_header('Content-Disposition', 'attachment; filename="output.txt"')

msg.attach(part)

server = smtplib.SMTP("smtp.gmail.com",587)
server.ehlo()
server.starttls()
server.login("abc@gmail.com", "password")

server.sendmail(msg['From'], emaillist , msg.as_string())
Run Code Online (Sandbox Code Playgroud)

python email mime sendmail python-2.7

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

C# HttpGet 响应给了我一个带有 EPPlus 的空 Excel 文件

我创建了一个生成 Excel 文件的端点。它应该用作 GET,以防我想要一些其他代码将其发布到不同的端点以发送电子邮件,或者我只想通过在浏览器中手动点击端点来下载 Excel 文件。它正在下载 Excel 文件,但是当我尝试打开它时,我看到消息“Excel 无法打开文件 'blahblah',因为文件格式或文件扩展名无效。请验证文件是否已损坏且文件扩展名是否正确与文件格式匹配。”

收到该错误后,我尝试更改响应内容字段和/或文件扩展名中的 MIME 类型,错误消失,文件打开并显示以下警告:“文件格式和扩展名”等等等等不匹配。文件可能已损坏或不安全。除非您相信其来源,否则请勿打开它。您仍要打开它吗?” 如果我无论如何打开它,文件仍然是空的。

这是我使用我创建的 ExcelPackage 并将其添加到响应中的代码。

var response = HttpContext.Current.Response;
response.ContentType = "application/vnd.openxmlformats-  officedocument.spreadsheetml.sheet";
var fileName = string.Format("blahblah-{0}.xls",     InstantPattern.CreateWithInvariantCulture("yyyy-dd-M-HH-mm-ss").Format(_clock.Now));
response.AddHeader("content-disposition", string.Format("attachment; filename={0}", fileName));
response.BinaryWrite(excelPackage.GetAsByteArray());
Run Code Online (Sandbox Code Playgroud)

我尝试添加不同的 mime 类型,如 application/excel。我试过使用 .xlsx 文件扩展名而不是 xls。什么都没有真正奏效。我知道 ExcelPackage 工作簿的工作表实际上包含我想要的数据,因为当我调试并将鼠标悬停在对象上时,我会看到我希望将其写入文件的单元格值。那么我做错了什么?

我已经尝试以两种方式生成 excelPackage,这两种方式都在 using 块内。像这样:

using (var excelPackage = new ExcelPackage())
{
    // generate and download excel file
}
Run Code Online (Sandbox Code Playgroud)

也像这样:

using (var excelPackage = new ExcelPackage(new FileInfo(fileName)))
{
   // generate and download excel file
}
Run Code Online (Sandbox Code Playgroud)

c# mime get file epplus

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

如何从原始电子邮件中提取信息

到目前为止我所做的

我使用POP3包从我的邮箱中读取我所有的电子邮件。

我收到了一封来自 POP3下面示例中显示函数。(我省略了一些信息)

问题

我正面临着从中提取信息的问题。

我使用邮件提取信息,但不幸的是,此包无法从原始电子邮件中提取信息。

寻求帮助

是否有任何方法或软件包可以帮助我从原始电子邮件中提取信息?


我试过的方法

// Retrieve all the email from your mailbox
msgs, _, error := connection.ListAll()

// Convert a chunk of integer to raw email
data, _ := connection.Retr(msgs[0])

// Extract Email Address
to, _ := mail.ParseAddress(data)
Run Code Online (Sandbox Code Playgroud)

我面临的错误

panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x0 addr=0x0 pc=0x5819ed]
Run Code Online (Sandbox Code Playgroud)

原始电子邮件示例

From: 
To: 
Subject: 
Thread-Topic: 
Thread-Index: AdPgWzcFT3FjbSbUT1ycoU2ioB1bKAAAAHuA
X-MS-Exchange-MessageSentRepresentingType: 1
Date: 
Message-ID: 
Accept-Language: en-SG, en-US
Content-Language: …
Run Code Online (Sandbox Code Playgroud)

mime go email-parsing

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