0

我已经安装了一个 siwapp 发票软件。它安装成功,但是当我尝试使用定期配置文件甚至向我的客户发送发票时,出现错误:

Warning: fsockopen() [function.fsockopen]: unable to connect to localhost:25 (Connection refused) in /home/olepress/public_html/my/lib/vendor/symfony/lib/vendor/swiftmailer/classes/Swift/Transport/StreamBuffer.php on line 233

Warning: Cannot modify header information - headers already sent by (output started at /home/olepress/public_html/my/lib/vendor/symfony/lib/vendor/swiftmailer/classes/Swift/Transport/StreamBuffer.php:233) in /home/olepress/public_html/my/lib/vendor/symfony/lib/response/sfWebResponse.class.php on line 336

Warning: Cannot modify header information - headers already sent by (output started at /home/olepress/public_html/my/lib/vendor/symfony/lib/vendor/swiftmailer/classes/Swift/Transport/StreamBuffer.php:233) in /home/olepress/public_html/my/lib/vendor/symfony/lib/response/sfWebResponse.class.php on line 357

Warning: Cannot modify header information - headers already sent by (output started at /home/olepress/public_html/my/lib/vendor/symfony/lib/vendor/swiftmailer/classes/Swift/Transport/StreamBuffer.php:233) in /home/olepress/public_html/my/lib/vendor/symfony/lib/response/sfWebResponse.class.php on line 357

我试图搜索它,有很多与我的问题相似的问题,但我不太确定我们是否使用相同的软件。试图播放这个软件的源文件,我发现这个配置文件包含:

test:
  storage:
    class: sfSessionTestStorage
    param:
      session_path: %SF_TEST_CACHE_DIR%/sessions

  response:
    class: sfWebResponse
    param:
      send_http_headers: false

  mailer:
    param:
      delivery_strategy: none

all:
  routing:
    class: sfPatternRouting
    param:
      generate_shortest_url:            true
      extra_parameters_as_query_string: true
  user:
    class: SiwappUser
    param:
      timeout:         1800
      logging:         %SF_LOGGING_ENABLED%
      use_flash:       true
      default_culture: %SF_DEFAULT_CULTURE%

#all:
#  controller:
#    class: sfFrontWebController
#
#  request:
#    class: sfWebRequest
#    param:
#      logging:           %SF_LOGGING_ENABLED%
#      path_info_array:   SERVER
#      path_info_key:     PATH_INFO
#      relative_url_root: ~
#      formats:
#        txt:  text/plain
#        js:   [application/javascript, application/x-javascript, text/javascript]
#        css:  text/css
#        json: [application/json, application/x-json]
#        xml:  [text/xml, application/xml, application/x-xml]
#        rdf:  application/rdf+xml
#        atom: application/atom+xml
#
#  response:
#    class: sfWebResponse
#    param:
#      logging:           %SF_LOGGING_ENABLED%
#      charset:           %SF_CHARSET%
#      send_http_headers: true
#
#  user:
#    class: myUser
#    param:
#      timeout:         1800
#      logging:         %SF_LOGGING_ENABLED%
#      use_flash:       true
#      default_culture: %SF_DEFAULT_CULTURE%
#
#  storage:
#    class: sfSessionStorage
#    param:
#      session_name: symfony
#
#  view_cache:
#    class: sfFileCache
#    param:
#      automatic_cleaning_factor: 0
#      cache_dir:                 %SF_TEMPLATE_CACHE_DIR%
#      lifetime:                  86400
#      prefix:                    %SF_APP_DIR%/template
#
#  i18n:
#    class: sfI18N
#    param:
#      source:               XLIFF
#      debug:                false
#      untranslated_prefix:  "[T]"
#      untranslated_suffix:  "[/T]"
#      cache:
#        class: sfFileCache
#        param:
#          automatic_cleaning_factor: 0
#          cache_dir:                 %SF_I18N_CACHE_DIR%
#          lifetime:                  31556926
#          prefix:                    %SF_APP_DIR%/i18n
#
#  routing:
#    class: sfPatternRouting
#    param:
#      load_configuration:               true
#      suffix:                           ''
#      default_module:                   default
#      default_action:                   index
#      debug:                            %SF_DEBUG%
#      logging:                          %SF_LOGGING_ENABLED%
#      generate_shortest_url:            false
#      extra_parameters_as_query_string: false
#      cache:
#        class: sfFileCache
#        param:
#          automatic_cleaning_factor: 0
#          cache_dir:                 %SF_CONFIG_CACHE_DIR%/routing
#          lifetime:                  31556926
#          prefix:                    %SF_APP_DIR%/routing
#
#  logger:
#    class: sfAggregateLogger
#    param:
#      level: debug
#      loggers:
#        sf_web_debug:
#          class: sfWebDebugLogger
#          param:
#            level: debug
#            condition:       %SF_WEB_DEBUG%
#            xdebug_logging:  true
#            web_debug_class: sfWebDebug
#        sf_file_debug:
#          class: sfFileLogger
#          param:
#            level: debug
#            file: %SF_LOG_DIR%/%SF_APP%_%SF_ENVIRONMENT%.log

我在这里错过了什么吗?我怎样才能解决这个问题?

4

3 回答 3

0

我知道这个线程很旧,但我终于找到了解决这个非常严重的错误的方法。

siwapp 的安装说明有点……有点小,很难找到完整的画面。我同时整理了这些笔记

将 factory.yml 文件复制到您的配置文件夹

cp <siwapp_root>/apps/siwapp/config/factories.yml <siwapp_root>/config/factories.yml

因此修改您的产品部分

prod:
  ...

  mailer:
    param:
      delivery_strategy: realtime
      transport:
        param:
          host: smtp.gmail.com
          port: 465
          encryption: ssl
          username: your_email_address@gmail.com
          password: your_password

替换地址和密码的值。

清空 /cache/* 处的缓存(但不要删除目录本身!)以删除旧配置。我之前遇到过这个问题,所以最好建议你备份缓存目录......

tar -czf siwappcachebkp.tgz <siwapp_root>/cache/*

如果由于某种原因重建缓存失败,要手动配置电子邮件,您需要专门修改此文件:

<siwapp_root>/cache/siwapp/prod/config/config_factories.yml.php

在文件末尾,您会发现硬编码为映射的邮件连接详细信息;输入正确的值,您就可以开始了。

于 2014-07-02T14:18:28.353 回答
0

检查该应用程序的配置:您必须配置要使用的邮件服务器(smtp 服务器)。给它使用其他软件时发送邮件的服务器的地址。

于 2012-07-28T05:21:57.500 回答
0

如果您使用的是 linux,请尝试在服务器上安装 sendmail,(debian/ubuntu sudo apt-get install sendmail,(rhat/centos yum install sendmail)。

如果您有外部 SMTP 服务器(如 Gmail)或您的 ISP 的凭据,您应该能够在找到的配置文件中指定主机详细信息和凭据,请参阅在 siwapp 中发送邮件的文档。

您可以使用具有类似于以下配置的 SMTP:

prod:
  ...
  mailer:
    param:
      delivery_strategy: realtime
      transport:
        param:
          host: smtp.gmail.com
          port: 465
          encryption: ssl
          username: your_gmail_username@gmail.com
          password: your_gmail_password

要使用 PHP sendmail,请使用如下配置:

prod:
...
  mailer:
    param:
      delivery_strategy: realtime
      transport:
        class: Swift_MailTransport

要编辑的配置文件是siwapp/config/factories.yml

希望有帮助。

于 2012-07-28T05:33:15.190 回答