【问题标题】:large attachment cannot be sent using codeigniter无法使用 codeigniter 发送大附件
【发布时间】:2018-08-04 06:05:23
【问题描述】:

我正在实现一个使用 Codeigniter 电子邮件类和 gmail smtp 发送电子邮件的程序。我发现它在附件很小(例如,小于 1MB)时有效,但如果它很大(例如,5MB),则附件无法与电子邮件一起发送,尽管电子邮件本身可以发送而没有任何错误。我检查了我的主机(我顺便使用了Ipage托管服务),附件成功上传到主机,所以不是上传的问题。我还检查了Ipage主机上的php.ini,以下是相关参数,它们似乎都可以:

memory_limit = 256M
max_execution_time = 120
upload_max_filesize = 8M
post_max_size = 20M

我尝试使用 localhost 它也不适用于大型附件。

谁能告诉我可能是什么问题?非常感谢! 我在 Stackoverflow 上进行了搜索,我确定我没有看到任何相同的问题。

【问题讨论】:

  • 也许客户端不接受它 - 许多服务器拒绝接受大电子邮件 - 例如 GMail 允许最大。 25MB,您可以在此处阅读 support.google.com/mail/answer/6584 - 所以它可能是客户端问题...
  • 不是我的情况,因为我实际上是从一个 Gmail 帐户向另一个 Gmail 帐户发送电子邮件。如你所说,最大为 25M。
  • 那么你上传的最大文件大小是8m,你确定你要发送的不是超过8?
  • 您绝对应该尝试使用 phpmailer 发送它 - 因为使用 phpmailer 的调试选项提供的信息要多得多 - 看看这里并使用文档中描述的调试选项stackoverflow.com/questions/44843305/…

标签: php codeigniter sendmail email-attachments mail-sender


【解决方案1】:

我终于找到了原因。这实际上不是文件大小的问题,或者更确切地说是文件名的问题。如果附件名称包含空格,则不会与电子邮件文本一起发送,也不会报告错误。为了解决这个问题,我使用了 Codeigniter Inflector Helper(下划线函数)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-08
    • 1970-01-01
    • 2022-01-06
    • 2013-06-15
    • 2012-10-31
    相关资源
    最近更新 更多