GithubHelp home page GithubHelp logo

go-guerrilla's People

Contributors

athoune avatar bsord avatar codestation avatar danielwhite avatar diwei-jiang avatar dvcrn avatar flashmob avatar ganglio avatar h2ero avatar j-tt avatar jordanschalm avatar lcges avatar lllama avatar lord-alfred avatar luodaoyi avatar peterkrejci avatar phires avatar remohammadi avatar saschagrunert avatar tegk avatar truedays avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

go-guerrilla's Issues

Docker support

Create a Dockerfile and basic environment configuration for easier deployment

gosec: hook.go: G304 (CWE-22): Potential file inclusion via variable

[/go-guerrilla/log/hook.go:116] - G304 (CWE-22): Potential file inclusion via variable (Confidence: HIGH, Severity: MEDIUM)
    115: func (hook *LogrusHook) openAppend(dest string) (err error) {
  > 116:        fd, err := os.OpenFile(dest, os.O_APPEND|os.O_WRONLY, 0644)
    117:        if err != nil {

AWS S3 Backend

Import from original repo issue #228 reported by simonmacklin

Hi

Thanks for this great package! I would like to write a new processor to push each email to s3. This would be to mimic the AWS SES to S3 feature.

Do you see any issues using this package and a S3 processor?

If no would you me to create a PR for the processor to be part of this package?

Thanks

Simon

gosec: p_sql.go: G202 (CWE-89): SQL string concatenation

[/Users/Philipp.Resch/dev/go-guerrilla/backends/p_sql.go:95] - G202 (CWE-89): SQL string concatenation (Confidence: HIGH, Severity: MEDIUM)
    94:         // do we have permission to access the table?
  > 95:         _, err = db.Query("SELECT mail_id FROM " + s.config.Table + " LIMIT 1")
    96:         if err != nil {

p_guerrilla_db_redis.go: G202 (CWE-89): SQL string concatenation

[/dev/go-guerrilla/backends/p_guerrilla_db_redis.go:155-173] - G202 (CWE-89): SQL string concatenation (Confidence: HIGH, Severity: MEDIUM)
    154:        }
  > 155:        sqlstr := "INSERT INTO " + g.config.Table + "" +
  > 156:                "(" +
  > 157:                "`date`, " +
  > 158:                "`to`, " +
  > 159:                "`from`, " +
  > 160:                "`subject`, " +
  > 161:                "`body`, " +
  > 162:                "`charset`, " +
  > 163:                "`mail`, " +
  > 164:                "`spam_score`, " +
  > 165:                "`hash`, " +
  > 166:                "`content_type`, " +
  > 167:                "`recipient`, " +
  > 168:                "`has_attach`, " +
  > 169:                "`ip_addr`, " +
  > 170:                "`return_path`, " +
  > 171:                "`is_tls`" +
  > 172:                ")" +
  > 173:                " values "
    174:        values := "(NOW(), ?, ?, ?, ? , 'UTF-8' , ?, 0, ?, '', ?, 0, ?, ?, ?)"

gosec: server.go G402 (CWE-295): TLS MinVersion too low.

[/go-guerrilla/server.go:130-134] - G402 (CWE-295): TLS MinVersion too low. (Confidence: HIGH, Severity: HIGH)
    129:                }
  > 130:                tlsConfig := &tls.Config{
  > 131:                        Certificates: []tls.Certificate{cert},
  > 132:                        ClientAuth:   tls.VerifyClientCertIfGiven,
  > 133:                        ServerName:   sConfig.Hostname,
  > 134:                }
    135:                if len(sConfig.TLS.Protocols) > 0 {

gosec: hook.go: G304 (CWE-22): Potential file inclusion via variable

[/go-guerrilla/log/hook.go:130] - G304 (CWE-22): Potential file inclusion via variable (Confidence: HIGH, Severity: MEDIUM)
    129: func (hook *LogrusHook) openCreate(dest string) (err error) {
  > 130:        fd, err := os.OpenFile(dest, os.O_CREATE|os.O_TRUNC|os.O_WRONLY, 0644)
    131:        if err != nil {

Why go-guerrilla having limit 30kb of email data can be a header

I am using go-guerrilla in my production environment, sending mail with header more than 30K, but getting 4x parser error.
Why we have limit 30KB of email data can be a header, we don;t have such limit in postfix.
Can we increase this limit?
Here attached my mail data
email.txt

Please help me here to increase email header size from 30KB to 1MB

How to get the time taken to receive single mail in go-guerrilla

Team,

I have SMTP listener service which use flashmob/go-guerrilla 1.6.1 to receive the mail, I want to know what is the single mail receive time. How can I measure this?
This will give idea what is my service throughout per seconds.
Can you please provide this information ?

BDAT not supported

Getting this error for some messages

Your message contains invalid characters (bare line feed characters) which the email servers don't support.

additional information is referencing BDAT command. Can't seem to find any references to this in the code or existing issues. Any suggestions?

"This error occurs when the email program or device used to create or send an email message adds bare line feed characters into the message. When bare line feed characters are included in a message, the SMTP protocol chunking feature is required to transmit the message between email servers. Chunking uses the SMTP protocol BDAT command, but the recipient's email server doesn't support the BDAT command."

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.